DeliPan's blog

By DeliPan, history, 82 minutes ago, In English
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5,B=317,M=B+5;
int n,a[N],b[N],q;
int op[N],x[N],k[N];
int ans[N];
struct ds1{
	int v[N],s[M];
	void upd(int x,int k){
		v[x]+=k;
		s[x/B]+=k;
	}
	int que(int x){
		int bx=x/B;
		int ans=0;
		for(int i=0;i<bx;i++){
			ans+=s[i];
		}
		for(int i=bx*B;i<=x;i++){
			ans+=v[i];
		}
		return ans;
	}
}t1;
struct ds{
	int oa[N],ob[N];
	int va[N],vb[N],cnta,cntb;
	int ra[N],rb[N];
	int t[N];
	void init(){
		*this=ds();
		memcpy(oa,a,sizeof(a));
		memcpy(ob,b,sizeof(b));
	}
	void build(int l,int r){
		init();
		for(int i=l;i<=r;i++){
			if(op[i]==1){
				int p=x[i],w=k[i];
				int v=min(a[p],a[p]+w);
				a[p]+=w;
				if(!va[v]){
					va[v]=++cnta;
					ra[cnta]=v;
				}
			}
			if(op[i]==2){
				int p=x[i],w=k[i];
				int v=min(b[p],b[p]+w);
				b[p]+=w;
				if(!vb[v]){
					vb[v]=++cntb;
					rb[cntb]=v;
				}
			}
			if(op[i]==3){
				int p=x[i];
				t[p]=1;
			}
		}
		for(int i=1;i<=n;i++){
			if(t[i]==1) continue;
			if(!va[oa[i]]&&!vb[ob[i]]) t[i]=2;
			if(va[oa[i]]&&vb[ob[i]]) t[i]=3;
			if(!va[oa[i]]&&vb[ob[i]]) t[i]=4;
			if(va[oa[i]]&&!vb[ob[i]]) t[i]=5;
		}
	}
};
signed main(){
	ios::sync_with_stdio(0),cin.tie(0);
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	for(int i=1;i<=n;i++){
		cin>>b[i];
	}
	cin>>q;
	for(int i=1;i<=n;i++){
		cin>>op[i]>>x[i];
		if(op[i]<=2){
			char w;
			cin>>w;
			if(w=='+') k[i]=1;
			else k[i]=-1;
		}
	}
	
}
  • Vote: I like it
  • -1
  • Vote: I do not like it

»
74 minutes ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

what a f*ck is this ?