Ниже приведен мой код для добавления 4-х элементов вектора arr и последующей печати минимальной суммы и максимальной суммы. Это ниже мой код. Хотя после использования длинного знака без знака, диапазон которого составляет от 0 до 18,446,744,073,709,551,615 , если быть точным. Я получаю ответ о переполнении целого числа, когда контрольный пример 256741038 623958417 467905213 714532089 938071625 . По мне, ответ должен быть в пределах ULL. Пожалуйста, помогите мне лучше понять причину.
void miniMaxSum(vector<int> arr) {
vector<int> A;
for(int i=0;i<5;i++){
unsigned long long int ans=0;
for(int j=0;j<5;j++){
if(i==j) continue;
else ans+=arr[j];
}
A.push_back(ans);
}
sort(A.begin(), A.end());
cout<<A[0]<<" "<<A[4];
}