Cod sursa(job #508366)

Utilizator antoanelaAntoanela Siminiuc antoanela Data 8 decembrie 2010 01:12:47
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <cstdio>
#include <vector>
using namespace std;
#define p 666013

int n;
vector <int> v[p+5];

int find(int x)
{
	int i, c=x%p, r=0;
	for (i=0; i<v[c].size(); i++)
		if (v[c][i]==x)
		{
			r=1;
			break;
		}
	return r;
}
	

void erase(int x)
{
	int i, c=x%p;
	for (i=0; i<v[c].size(); i++)
		if (v[c][i]==x)
		{
			v[c].erase(v[c].begin()+i);
			break;
		}
}

int main()
{
	freopen("hashuri.in","r",stdin);
	freopen("hashuri.out","w",stdout);
	scanf("%d",&n);
	int c, op, x;
	while (n--)
	{
		scanf("%d %d",&op,&x);
		c=find(x);
		if (op==1)
		{
			if (!c)
				v[x%p].push_back(x);
		} else
		if (op==2)
		{
			if (c) erase(x);
		} else printf("%d\n",c);
	}
}