Cod sursa(job #431669)

Utilizator nautilusCohal Alexandru nautilus Data 1 aprilie 2010 11:48:27
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.97 kb
#include<fstream>
#include<vector>
#define prim 666013
using namespace std;

vector<long> a[prim];

void inserare(long n)
{
 int rest=n % prim;
 long i,ok=0;
	
 for (i=0; i<a[rest].size(); i++)
	 if (a[rest][i]==n)
		 {
		  ok=1;
		  break;
		 }	
	
 if (ok==0)
	 a[rest].push_back(n);
}

void stergere(long n)
{
 int rest=n % prim;
 long i;
	
 for (i=0; i<a[rest].size(); i++)
	 if (a[rest][i]==n)
		 {
		  a[rest].erase(a[rest].begin()+i);
		  break;
		 }	
}

ofstream fout("hashuri.out");

void query(long n)
{
 int rest=n % prim;
 long i;
	
 for (i=0; i<a[rest].size(); i++)
	 if (a[rest][i]==n)
		 {
		  fout<<"1"<<'\n';
		  return;
		 }	
	
 fout<<"0"<<'\n';
}

int main()
{
 long n,i,x;
 int op;
	
 ifstream fin("hashuri.in");
 fin>>n;
 for (i=1; i<=n; i++)
	 {
	  fin>>op>>x;
	  if (op==1)
		  inserare(x); else
		  if (op==2)
			  stergere(x); else
			  query(x);
	 }
 
 fin.close();
 fout.close();
	
 return 0;
}