Cod sursa(job #291824)

Utilizator hurrycaneBogdan Gaza hurrycane Data 30 martie 2009 14:04:46
Problema Hashuri Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include<cstdio>
#include<vector>

#define modulo 671323

using namespace std;

vector<int> mancare[modulo];
int n;

void add(int x){
	int k;
	k=x%modulo;
	mancare[k].push_back(x);
}

void erase(int x){
	int i,k,st;
	k=x%modulo;
	st=mancare[k].size();
	for(i=0;i<st;i++){
		if(mancare[k][i]==x){
			mancare[k][i]=mancare[x][st-1];
			mancare[k].pop_back();
		}
	}
}

bool check(int x){
	int i,k,st;
	k=x%modulo;
	st=mancare[k].size();
	for(i=0;i<st;i++){
		if(mancare[k][i]==x){
			return 1;
		}
	}
	return 0;
}

int main(){
	int x,y;

	freopen("hashuri.in","r",stdin);
	freopen("hashuri.out","w",stdout);
	
	scanf("%d",&n);

	for(;n--;){
		scanf("%d %d",&x,&y);
		if(x==1) add(y);
		if(x==2) erase(y);
		if(x==3) printf("%d\n",check(y));
	}

	return 0;
}