Cod sursa(job #518963)

Utilizator mottyMatei-Dan Epure motty Data 3 ianuarie 2011 17:03:17
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <cstdio>
#include <vector>

using namespace std;

const int N=666013;

int n;

vector <int> h[N];

inline vector <int>::iterator Find(int val)
{
	int ln=val%N;
	
	for( vector <int>::iterator it=h[ln].begin(); it!=h[ln].end(); ++it)
		if( *it==val )
			return it;
	return h[ln].end();
}

int main()
{
	freopen("hashuri.in","r",stdin);
	freopen("hashuri.out","w",stdout);
	
	int tip, val;
	
	scanf("%d",&n);
	
	while(n--)
	{
		scanf("%d%d",&tip,&val);
		
		if(tip==1 && Find(val)==h[val%N].end())
			h[val%N].push_back(val);
		if(tip==2)
		{
			vector <int>::iterator it=Find(val);
			
			if(it!=h[val%N].end())
				h[val%N].erase(it);
		}
		if(tip==3)
			printf("%d\n",Find(val)!=h[val%N].end());
	}
	
	return 0;
}