Cod sursa(job #823838)

Utilizator raulstoinStoin Raul raulstoin Data 25 noiembrie 2012 17:36:19
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.87 kb
#include<cstdio>
#include<vector>
#define mod 666013
using namespace std;
vector <int> a[mod];
vector<int>::iterator find(int x)
{
	int list=x%mod;
	vector<int>::iterator it;
	for(it=a[list].begin();it!=a[list].end();it++)
		if(*it==x)
			return it;
	return a[list].end();
}
inline void add(int x)
{
	int list=x%mod;
	if(a[list].end()==find(x))
		a[list].push_back(x);
}
inline void del(int x)
{
	vector<int>::iterator it=find(x);
	int list=x%mod;
	if(a[list].end()!=it)
		a[list].erase(it);
}
int main()
{
	int n,x;
	freopen("hashuri.in","r",stdin);
	freopen("hashuri.out","w",stdout);
	scanf("%d",&n);
	while(n--)
	{
		scanf("%d",&x);
		if(x==1)
		{
			scanf("%d",&x);
			add(x);
			continue;
		}
		if(x==2)
		{
			scanf("%d",&x);
			del(x);
			continue;
		}
		scanf("%d",&x);
		printf("%d\n",find(x)!=a[x%mod].end());
	}
	return 0;
}