用哈希解决,思路简单,但WA了,跪求大佬求调
#include<bits/stdc++.h>
#define int unsigned long long
using namespace std;
const int N=2e5+5,MAX=1e6,moda=81919,modb=70311,modc=80391,modd=98765;
int sum[N],ta[MAX],tb[MAX],tc[MAX],td[MAX];
signed main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int n,m,ans=1;
cin>>n>>m;
ta[0]=n;
tb[0]=n;
tc[0]=n;
td[0]=n;
for(int i=1;i<=m;i++){
int a,b;
cin>>a>>b;
ta[sum[a]%moda]--;
tb[sum[a]%modb]--;
tc[sum[a]%modc]--;
td[sum[a]%modd]--;
if(ta[sum[a]%moda]==0||tb[sum[a]%modb]==0||tc[sum[a]%modc]==0||td[sum[a]%modd]==0){
ans--;
}
sum[a]+=b;
ta[sum[a]%moda]++;
tb[sum[a]%modb]++;
tc[sum[a]%modc]++;
td[sum[a]%modd]++;
if(ta[sum[a]%moda]==1||tb[sum[a]%modb]==1||tc[sum[a]%modc]==1||td[sum[a]%modd]==1){
ans++;
}
cout<<ans<<"\n";
}
return 0;
}