Cod sursa(job #858912)

Utilizator deea101Andreea deea101 Data 19 ianuarie 2013 15:09:06
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <fstream>
#include <list>
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
list <int > v[666013];
list <int >::iterator it;
int MOD=666013;
void eliminare(int x)
{
	int i;
	i=x%MOD;
	for(it=v[i].begin();it!=v[i].end();it++)
		if((*it)==x) {v[i].erase(it); return;} 
}
int find(int x)
{
	int i;
	i=x%MOD;
	for(it=v[i].begin();it!=v[i].end();it++)
		if((*it)==x) return 1;
	return 0;
}
void adaugare(int x)
{
	if(!find(x))
	{
		int i=x%MOD;
		v[i].push_back(x);
	}
}
int main()
{
	int n,i,c,x;
	f>>n;
	for(i=1;i<=n;i++)
	{
		f>>c>>x;
		if(c==1)
			adaugare(x);
		if(c==2)
			eliminare(x);
		if(c==3)
			g<<find(x)<<'\n';
	}
}