Cod sursa(job #648195)

Utilizator ELHoriaHoria Cretescu ELHoria Data 13 decembrie 2011 08:48:53
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.85 kb
#include <fstream>
#include <vector>

using namespace std;

ifstream fin("hashuri.in");
ofstream fout("hashuri.out");

const int MOD = 666013;
int N , M , t , x;
vector<int> G[MOD];

vector<int>::iterator find(const int &x,const int &ind)
{
	vector<int>::iterator it;
	for(it = G[ind].begin();it!=G[ind].end();++it)
		if(*it == x) return it;
	return G[ind].end();
}

inline void erase_val(int x)
{
	int ind = x%MOD;
	vector<int>::iterator it = find(x,ind);
	if(it!=G[ind].end()) 
		G[ind].erase(it);
}

void insert_val(int x)
{
	int ind = x%MOD;
	if(find(x,ind)==G[ind].end())
		G[ind].push_back(x);
}

int main()
{
	for(fin>>N;N;N--)
	{
		fin>>t>>x;
		if( t == 1) 
			insert_val(x);
		else
		if(t == 2) erase_val(x);
			else
		if( t == 3)
			fout<< ( find(x,x%MOD) != G[x%MOD].end() ? 1 : 0 )<<'\n';

	}
	return 0;
}