Cod sursa(job #1019824)

Utilizator BarracudaFMI-Alex Dobrin Barracuda Data 31 octombrie 2013 23:03:56
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
#include<fstream>
#include<vector>
#define mod 600353


using namespace std;


ifstream f("hashuri.in");
ofstream g("hashuri.out");
vector< int >G[mod+7];

int op,x,n;
int querry(long x){
	
	int key=x%mod;
	
	for(int i=0;i<G[key].size();++i){
		if(G[key][i]==x)
			return 1;
	}
	return 0;
}
void add(int x){
	
	int key=x%mod;
	
	if(querry(x)==0)
		G[key].push_back(x);
}
void erase(int x){
	int pos=-1;
	int key=x%mod;
	
	for(int i=0;i<G[key].size();++i){
		if(G[key][i]==x)
			pos=i;
	}
	if(pos!=-1){
		G[key][pos]=G[key][G[key].size()-1];
		G[key].pop_back();
	}
}
int main () {
	
	f>>n;
	
	for(;n;--n){
		
		f>>op>>x;
		
		if(op==1){
			add(x);
		}
		else{
			if(op==2){
				erase(x);
			}
			else{
				g<<querry(x)<<"\n";
			}
		}
	}
	
	
	return 0;
}