蓝桥杯 最好的切分数组 题型:思维题

77 阅读1分钟

4.最好的切分数组 - 蓝桥云课 (lanqiao.cn)

思想

先把元素全部加起来,每次分一个给另一个变量和,比较一下两个和的差值,取最小即可

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int a[N];
int ans=1e9,ma,mi;
 
int main()
{
	int n;cin>>n;	
	for(int i=0;i<n;i++)
	{
	  cin>>a[i]; 
	  ma+=a[i];	
	}
	
	
	for(int i=0;i<n;i++)
	{
		ma-=a[i];
		mi+=a[i];
		
		ans=min(ans,abs(mi-ma));
	}
	
	cout<<ans;
	return 0;
}

image.png