样例过了,但WA
查看原帖
样例过了,但WA
1010177
sxms_tanjialei楼主2024/4/13 08:25

我用的二分做法

求调

#include<bits/stdc++.h>
using namespace std;
int n;
int a[1000001];
bool check(int x)
{
	for(int i=1;i<=n;i++)
	{
		x+=a[i];
		if(x<=0)
			return false;
	}
	return true;
}
int main()
{
	cin>>n;
	int ans=0;
	for(int i=1;i<=n;i++)
		cin>>a[i];
	int l=0,r=1001;
	while(l<=r)
	{
		int mid=(l+r)/2;
		if(check(mid))
		{
			r=mid-1;
			ans=mid;
		}
		else
			l=mid+1;
	}
	cout<<ans;
	return 0;
}
2024/4/13 08:25
加载中...