注意结果的范围

Cut

https://ac.nowcoder.com/acm/problem/14291

感想:这道题比较简单,方法也都差不多。但最后要注意结果的范围是否超出int(本人新手,经验不足,结果用int装,许多都过不了,这也是一个经验嘛)
思路:首先应该是从大到小的排序,然后求出总和,一边加一边将总和减去当前去掉的数。

#include "iostream"
#include "algorithm"
using namespace std;
int main()
{
    int Array[100002];
    int N,i,all=0;
    cin>>N;
    for(i=0;i<N;i++){
        cin>>Array[i];
        all=all+Array[i];
    }
    long long int total=0;
    sort(Array,Array+N);
    for(i=0;i<N-1;i++){
        total=total+all;
        all=all-Array[i];
    }
    cout<<total;
}
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务