注意结果的范围
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; }