求助第五个点答案错误
查看原帖
求助第五个点答案错误
371927
REAL_曼巴楼主2022/8/27 18:27
#include<bits/stdc++.h>
using namespace std;
#define ll long long 
ll n,a[200002],b[200002];
ll ans[200002];
map<ll,ll>mp;
int main(){
	scanf("%lld",&n);
	for(ll i=1;i<=n;++i)scanf("%lld",&a[i]);
	for(ll i=1;i<=n;++i)mp[b[i-1]]=i,b[i]=b[i-1]+a[i],ans[mp[b[i]]]=i;
    ll maxn=21474838444;
    ll sum=0;
	for(ll i=n;i;--i){
		if(!ans[i])ans[i]=n+1;
		ans[i]=min(ans[i],maxn);
		sum+=ans[i]-i;
	}
	printf("%lld",sum);
    return 0;
}

求调,谢谢!

2022/8/27 18:27
加载中...