Cod sursa(job #1164358)

Utilizator SebiSebiPirtoaca George Sebastian SebiSebi Data 2 aprilie 2014 00:02:59
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.92 kb
#include<iostream> 
#include<fstream> 
#include<vector> 
using namespace std; 

#define MOD 666013  

vector <int> v[MOD]; 

int cauta(int k, int x) {     
	int i,n;     
	n=int(v[k].size())-1;    
	for(i=0;i<=n;i++)       
		if(v[k][i]==x)         
			return i;     
	return -1; 
}  

void adauga(int k, int x) {   
	if(cauta(k,x)==-1)     
		v[k].push_back(x); 
}  

void sterge(int k, int x) {    
	int poz;    
	poz=cauta(k,x);   
	if(poz!=-1)  
        v[k].erase(v[k].begin()+poz); 
} 
int main () {   
	int n,i,op,x;  
	ifstream f("hashuri.in");   
	ofstream g("hashuri.out");    
	f>>n;    
	for(i=1;i<=n;i++) {  
		f>>op>>x;       
		if(op==1)       
			adauga(x%MOD,x);  
		else if(op==2)      
			sterge(x%MOD,x); 
        else {           
			if(cauta(x%MOD,x)==-1)      
				g<<"0"<<'\n';   
			else g<<"1"<<'\n';   
		}    
	}    
	f.close();   
	g.close();  
	return 0; 
}