Cod sursa(job #851891)

Utilizator BarracudaFMI-Alex Dobrin Barracuda Data 10 ianuarie 2013 16:34:02
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
#include<fstream>
#include<vector>
#define mod 666013

using namespace std;

ifstream f("hashuri.in");
ofstream g("hashuri.out");
int key,pos;
vector<long>G[mod+20];
int op,n;
long x;
int find (long x) {
	
	key=x%mod;
	
	for(int i=0;i<G[key].size();++i){
		if(G[key][i]==x){
			return 1;
		}
	}
	return 0;
}
void add(long x){
	key=x%mod;
	G[key].push_back(x);
}
void erase(long x) {
	key=x%mod;
	pos=-1;
	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<<find(x)<<"\n";
				
			}
		}
	}
	
	
	return 0;
}