Cod sursa(job #607344)

Utilizator cosminx2003Cosmin Clapon cosminx2003 Data 11 august 2011 18:19:55
Problema Hashuri Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <fstream.h>
#include <iostream.h>
#include <vector>
#define M 45053

using namespace std;
vector<int> H[M];
int P=45053;

vector<int>::iterator hCheck(int x);

int main()
{
	int n,i,op,x;
	freopen("hashuri.in", "r", stdin);
	freopen("hashuri.out", "w", stdout);
	
	scanf("%d", &n);
	
	for(i=1;i<=n;i++)
	{
		scanf("%d %d", &op, &x);
		if(op==1)
		{
			if(hCheck(x)==H[x/P].end())
				H[x/P].push_back(x);
			continue;
		}
		if(op==2)
		{
			vector<int>::iterator c=hCheck(x);
			if(c!=H[x/P].end())
				H[x/P].erase(c);
			continue;
		}
		printf("%d\n", hCheck(x)!=H[x/P].end());
	}

	return 0;
}

vector<int>::iterator hCheck(int x)
{
	vector<int>::iterator c;
	for(c=H[x/P].begin();c!=H[x/P].end();++c)
		if(*c==x)
			return c;
	return H[x/P].end();
}