Cod sursa(job #629321)

Utilizator matemariaescuMaria Mateescu matemariaescu Data 3 noiembrie 2011 10:15:56
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
# include <fstream>
# include <vector>
# define MODULO 666013


using namespace std;

int n,i,op,x;
vector <int> ha[MODULO];

int gaseste (int x)
{
	int a=x%MODULO;
	int i;
	for (i=0;i<ha[a].size();i++)
	{
		if (ha[a][i]==x)
			return 1;
	}
	return 0;
}

void adauga (int x)
{
	int a=x%MODULO;
	int i;
	for (i=0;i<ha[a].size();i++)
	{
		if (ha[a][i]==x)
			return;
	}
	ha[a].push_back(x);
}

void sterge (int x)
{
	int a=x%MODULO;
	int i;
	for (i=0;i<ha[a].size();i++)
	{
		if (ha[a][i]==x)
		{
			ha[a][i]=ha[a][ha[a].size()-1];
			ha[a].pop_back();
			return;
		}
	}
}

int main ()
{
	ifstream fin ("hashuri.in");
	ofstream fout ("hashuri.out");
	fin>>n;
	for (i=1;i<=n;i++)
	{
		fin>>op>>x;
		if (op==1)
		{
			adauga(x);
		}
		else if (op==2)
			sterge(x);
		else fout<<gaseste(x)<<'\n';
	}
	return 0;
}