为什么这两行调换位置会WA一个点?
查看原帖
为什么这两行调换位置会WA一个点?
250699
mot1ve楼主2021/9/29 10:19

为什么这样就会WA第二个点?

minn=min(minn,s[i]);
ans=max(ans,s[i]-minn);
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,minn=0;
int a[1000010],s[1000010];
int ans=-0x3f3f3f3f;
signed main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		scanf("%lld",&a[i]);
		s[i]=s[i-1]+a[i];
	}
	for(int i=1;i<=n;i++)
	{
      ans=max(ans,s[i]-minn);
		minn=min(minn,s[i]);
	}
	cout<<ans;
	return 0;
}
2021/9/29 10:19
加载中...