Cod sursa(job #894855)

Utilizator mmanMihai Manolescu mman Data 27 februarie 2013 00:26:07
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
#include<fstream>
#include<vector>
#define dmax 666013
using namespace std;
ifstream in("hashuri.in");
ofstream out("hashuri.out");

int n;

vector<int>htable[dmax];
vector<int>::iterator it;

void ins(int k)
{
	int r = k % dmax;
	
	htable[r].push_back(k);
}

void del(int k)
{
	int r = k % dmax;
	
	for(it = htable[r].begin(); it < htable[r].end(); it++)
		if(*it == k)
			htable[r].erase(it);

}


bool query(int k)
{
	int r = k % dmax;
	
	for(it = htable[r].begin(); it < htable[r].end(); it++)
		if(*it == k)
			return 1;
		
	return 0;
}

int main()
{
	in>>n;
	
	for(int i=1; i<=n; i++)
	{
		int op, nr;

		in>>op>>nr;

		if(op == 1)
			ins(nr);

		else if(op == 2)
			del(nr);

		else out<<query(nr)<<'\n';
	}

	in.close();
	out.close();
	return 0;
}