【发布时间】:2019-04-03 19:40:03
【问题描述】:
我正在尝试解决问题https://www.hackerrank.com/challenges/mini-max-sum/problem,但我的代码在提交时失败。仅清除 15 个测试用例中的 5 个。我认为它与使用 64 位整数有关。我对此一无所知,也不知道是什么导致我的程序失败。
下面的程序展示了我的方法
void miniMaxSum(vector<int> arr)
{
int l = arr.size();
sort(arr.begin(),arr.end());
long long int min = arr[0] + arr[1] + arr[2] + arr[3];
long long int max = arr[l - 1] + arr[l - 2] + arr[l - 3] + arr[l-4];
cout<<min<<" "<<max<<endl;
}
编译器输出错误。我不知道我做错了什么请帮忙。
【问题讨论】:
-
long long int min = arr[0] + arr[1] + ...;使用ints 进行计算,并将最终结果转换为long long。你可能想要long long int min = (long long)arr[0] + arr[1] + arr[2] + ...;之类的东西。 -
感谢它通过了所有测试用例:)
标签: c++