Cod sursa(job #635019)

Utilizator popacamilpopa camil popacamil Data 18 noiembrie 2011 10:42:25
Problema Hashuri Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.91 kb
#include<cstdio>
#include<vector>
using namespace std;
#define MOD 666013
int N;
vector<int> G[MOD];
inline vector<int>::iterator find_value(int x){
	int list=x%MOD;
	vector<int>::iterator i;
	for(i=G[list].begin();i!=G[list].end();++i){
		if (*i==x){
			return i;
		}
	}
	return G[list].end();
}	
inline void insert_value(int x){
	int list=x%MOD;
	if(find_value(x)== G[list].end()){
		G[list].push_back(x);
	}
}
inline void erase_value(int x){
	vector<int>::iterator it=find_value(x);
	int list=x%MOD;
	if(it!=G[list].end()){
		G[list].erase(it);
	}
}
int main()
{
    int op, x;
	freopen("hashuri.in", "r", stdin);
	freopen("hashuri.out", "w", stdout); 
    scanf("%d", &N);
	for(int i=1;i<=N;++i){
		scanf("%d %d",&op,&x);
		if(op==1){
			insert_value(x);
			continue;
		}
		if(op==2){
			erase_value(x);
			continue;
		}
		printf("%d\n",find_value(x)!=G[x%MOD].end());
	}
	return 0;
}