求助今天cf D题
  • 板块学术版
  • 楼主Caicz
  • 当前回复3
  • 已保存回复3
  • 发布时间2020/9/28 18:31
  • 上次更新2023/11/5 12:28:27
查看原帖
求助今天cf D题
224229
Caicz楼主2020/9/28 18:31

rt,调了半小时感觉没什么问题,wa test10

贪心做的

ll T,n,a[maxn],ans;
ll sum[maxn];
map<ll,int>mp;

inline ll read(void)
{
	ll num,sign=1;char c;
	while(!isdigit(c=getchar()))if(c=='-')sign=0;num=c-'0';
	while(isdigit(c=getchar()))num=(num<<1)+(num<<3)+c-'0';
	return sign?num:-num;
}

signed main(void)
{
	n=read();
	for(register int t,ls=0,i=1;i<=n;++i)
	{
		a[i]=read();
		sum[i]=sum[i-1]+a[i];
		if(!sum[i])ls=i-1,++ans;
		else if((t=mp[sum[i]])&&t>=ls)ls=i-1,++ans;
		mp[sum[i]]=i;
	}
	cout<<ans<<endl;
}
2020/9/28 18:31
加载中...