返回顶部

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进行比较。

posted @ 2022-01-21 09:45  zrc4889  阅读(26)  评论(0编辑  收藏  举报