Cod sursa(job #632082)

Utilizator stanescu_teodorStanescu Teodor stanescu_teodor Data 10 noiembrie 2011 11:59:35
Problema Hashuri Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.88 kb
#include <cstdio>
#include <vector>
#define MOD 666013
#define pb push_back
using namespace std;

vector <int> v[MOD];
int i,o,x,n;
void insertv (int x)
{
	int ind = x % MOD;
	v[ind].pb(x);
}

void deletev (int x)
{
	int ind = x % MOD;
	int len= v[ind].size();
	for (int i=0; i<len; i++)
		if (v[ind][i] == x) 
		{
			v[ind].erase (v[ind].begin() + i);
			return;
		}
}

bool find (vector <int> v[MOD],int x)
{
	int ind=x % MOD;
	int len = v[ind].size();
	for (int i=0; i<len; i++)
		if (v[ind][i] == x) return true;
	return false;
}

int main ()
{
	freopen ("hashuri.in","r",stdin);
	freopen ("hashuri.out","w",stdout);
	scanf ("%d",&n);
	for (i=1; i<=n; i++)
	{
		scanf ("%d%d",&o,&x);
		if (o==1) insertv (x);
		if (o==2) if (find (v,x)) deletev (x);
		if (o==3) 
		{
			if (find (v,x)) printf ("1\n");
					else printf ("0\n");
		}
	}
	return 0;
}