Cod sursa(job #561720)

Utilizator SadmannCornigeanu Calin Sadmann Data 21 martie 2011 14:00:25
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.87 kb
#include<fstream>
#include<vector>
#define MOD 666013
using namespace std;
ifstream in("hashuri.in");
ofstream out("hashuri.out");
vector<int> G[MOD];
int N,op,x;

inline vector<int>::iterator find_value(int x)
{
	int list=x%MOD;
	vector<int>::iterator it;
	for(it=G[list].begin();it!=G[list].end();it++)
		if(*it==x)
			return it;
	return G[list].end();
}

inline void erase_value(int x)
{
	int list=x%MOD;
	vector<int>::iterator it=find_value(x);
	if(it!=G[list].end())
		G[list].erase(it);
}

inline void insert_value(int x)
{
	int list=x%MOD;
	if(find_value(x)==G[list].end())
		G[list].push_back(x);
	
	
}

int main()
{
	for(in>>N;N;N--)
	{
		in>>op>>x;
		if(op==1)
		{
			insert_value(x);
			continue;
		}
		if(op==2)
		{
			erase_value(x);
			continue;
		}
		out<<(find_value(x) != G[x%MOD].end())<<"\n";		
	}	
	
	return 0;
}