Cod sursa(job #571348)

Utilizator Catah15Catalin Haidau Catah15 Data 4 aprilie 2011 12:33:29
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.83 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

#define PB push_back
#define MOD 666013


vector < int > lista[MOD + 3];
int N;


int search (int q)
{
	int el = q % MOD;
	
	for (unsigned int i = 0; i < lista[el].size(); ++ i)
		if (q == lista[el][i]) return 1;
	
	return 0;
}


void sterge (int q)
{
	int el = q % MOD;
	
	for (unsigned int i = 0; i < lista[el].size(); ++ i)
		if (q == lista[el][i]) 
			lista[el][i] = 0;
}


int main()
{
	ifstream f("hashuri.in");
	ofstream g("hashuri.out");
	
	f >> N;
	
	for (int i = 1; i <= N; ++ i)
	{
		int tip, x;
		
		f >> tip >> x;
		
		if (tip == 1 && ! search(x) )
				lista[x % MOD]. PB (x);
		if (tip == 2)
			sterge (x);
		if (tip == 3)
			g << search (x) << '\n';
	}
	
	
	f.close();
	g.close();
	
	return 0;
}