Cod sursa(job #990449)

Utilizator chiriacandrei25Chiriac Andrei chiriacandrei25 Data 28 august 2013 12:50:12
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.91 kb
#include <cstdio>
#include <vector>

using namespace std;

int p=666013;
vector <int> h[666014];

inline void Adauga(int x)
{
	int i;
	i=x%p;
	h[i].push_back(x);
}

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

inline void Sterge(int x)
{
	int i;
	vector <int>::iterator it;
	i=x%p;
	it=Cautare(x);
	if(it!=h[i].end())
		h[i].erase(it);
}

int main()
{
	int i,j,op,x,n;
	vector <int>::iterator it;
	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)
			Adauga(x);
		else
			if(op==2)
				Sterge(x);
			else
			{
				j=x%p;
				it=Cautare(x);
				if(it!=h[j].end())
					printf("1\n");
				else
					printf("0\n");
			}
	}
	return 0;
}