Cod sursa(job #368315)

Utilizator adelinasAdelina Spataru adelinas Data 24 noiembrie 2009 17:41:18
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <stdio.h>
#include <vector>
using namespace std;
#define MOD 666013 
#define FOR(i, v) for(vector<int>::iterator i = v.begin(); i != v.end(); ++i)
vector <int> v[MOD];
int find(int x){
	int p=x%MOD;
	FOR(i, v[p])
		if(*i==x)
			return 1;
	return 0;
}
void add(int x){
	int p=x%MOD;
	v[p].push_back(x);
}
void del(int x){
	int p=x%MOD;
	FOR(i, v[p])
		if(*i==x){
			v[p].erase(i);
			return ;
		}
}
int main(){
	freopen("hashuri.in", "r", stdin);
	freopen("hashuri.out", "w", stdout);
	int n;
	scanf("%d", &n);
	
	for(int i = 1; i <= n; ++i){
		int x, y;
		scanf("%d %d", &x, &y);
		if(x == 1)
			if(!find(y))
				add(y);
			else;
		else if(x == 2) del(y);
		else printf("%d\n",find(y));
	}
	
	return 0;
}