Cod sursa(job #669989)

Utilizator DuxarFII-Stefan-Negrus Duxar Data 28 ianuarie 2012 09:39:17
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb

#include<fstream>
#include<vector>
#define MOD 666013
using namespace std;

ifstream f("hashuri.in");
ofstream g("hashuri.out");

vector <int> V[MOD];
int N,i,c,X;

void insert( int X );
int search( int X );
void erase( int X );

int main()
{
	f>>N;
	for (i=1;i<=N;++i)
	{
		f>>c>>X;
		if (c==1)
			insert(X);
		else if (c==2)
			erase(X);
		else
		{
			if (search(X)>-1)
				g<<1<<'\n';
			else 
				g<<0<<'\n';
		}
	}
	g.close();
	f.close();
	return 0;
}

void insert( int X )
{
	if (search(X)==-1)
		V[X%MOD].push_back(X);
}

int search( int X )
{
	int i,lg=V[X%MOD].size();
	for (i=0; i<lg; ++i)
		if (V[X%MOD][i]==X)
			return i;
	return -1;
}

void erase( int X )
{
	int poz;
	poz=search(X);
	if (poz>=0)
		V[X%MOD].erase(V[X%MOD].begin()+poz);
}