Splitting Pile
逻辑十分简单
#include<bits/stdc++.h>
using namespace std;
int n;
int a[200000010];
int ans = 2100000000;
long long aa=0,bb=0,s;
int main(){
cin>>n;
for (int i=1;i<=n;i++){
cin>>a[i];
aa+=a[i]; // 计算总和
}
for (int i=1;i<n;i++){
aa-=a[i];
bb+=a[i]; // 逐个计算
s = abs(aa-bb);
if (s<ans) ans = s; // 取小的那个
}
cout<<ans<<endl;
}
注意ans
要取2100000000
,才能在下面的s<ans
进行比较。