Cod sursa(job #672046)

Utilizator ionut_ungureanuUngureanu Vladut Ionut ionut_ungureanu Data 1 februarie 2012 15:04:36
Problema Hashuri Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.85 kb
#include<stdio.h>
#include<vector>
#include<algorithm>
#define FIN "hashuri.in","r",stdin
#define FOUT "hashuri.out","w",stdout

using namespace std;

int n,i,x,op,p;
vector <int> a[100];
vector <int>::iterator it;
vector <int>::iterator it2;

vector<int>::iterator search(int x)
{
	for(it=a[x%p].begin();it!=a[x%p].end();++it)
		if(*it == x)return it;
	return a[x%p].end();
}

void insert(int x)
{
	if(search(x)==a[x%p].end())
		a[x%p].push_back(x);
}

void erase(int x)
{
	it2=search(x);
	if(it2!=a[x%p].end())
		a[x%p].erase(it2);
}

int main()
{
freopen(FIN);
freopen(FOUT);
p=2011;
scanf("%d",&n);
for(i=1;i<=n;i++)
	{
		scanf("%d %d",&op,&x);
		
		if(op==1)insert(x);
		if(op==2)erase(x);
		if(op==3)
			{
				it2=search(x);
				if(it2==a[x%p].end())printf("0\n");
					else printf("1\n");
			}	
	}
return 0;
}