Cod sursa(job #342126)

Utilizator GheorgheMihaiMihai Gheorghe GheorgheMihai Data 20 august 2009 17:41:58
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.85 kb
#include<stdio.h>
#include<vector>
using namespace std;
const int m=666013;
int n;
vector <int> v[m];
vector<int>::iterator p;

vector<int>::iterator cautare(int x)
{
	for(vector <int> :: iterator it=v[x%m].begin();it!=v[x%m].end();it++)
		if(x==*it)
			return it;
	return v[x%m].end();
}

void adaugare(int x)
{
	p=cautare(x);
	if(p==v[x%m].end())
		v[x%m].push_back(x);
}

void eliminare(int x)
{
	p=cautare(x);
	if(p!=v[x%m].end())
		v[x%m].erase(p);
}

void afisare(int x)
{
	p=cautare(x);
	if(p!=v[x%m].end())
		printf("1\n");
	else
		printf("0\n");
}

int main()
{
	freopen("hashuri.in","r",stdin);
	freopen("hashuri.out","w",stdout);
	scanf("%d",&n);
	int i,x,o;
	for(i=1;i<=n;i++)
	{
		scanf("%d%d",&o,&x);
		if(o==1)
			adaugare(x);
		if(o==2)
			eliminare(x);
		if(o==3)
			afisare(x);
	}
	return 0;
}