Pagini recente » Cod sursa (job #173473) | Cod sursa (job #2441834) | Cod sursa (job #939024) | Cod sursa (job #2549026) | Cod sursa (job #2232493)
#include <iostream>
#include <fstream>
#include <vector>
#define M 666013
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
vector<int> v[M];
///Gasire valoare
vector<int>::iterator gasire(int x){
int val=x%M;
vector<int>::iterator it;
for(it=v[val].begin(); it!=v[val].end(); ++it)
if(*it==x)
return it;
return v[val].end();
}
///Inserare valoare
void inserare(int x){
int val=x%M;
if(gasire(x)==v[val].end())
v[val].push_back(x);
}
///Stergere Valoare
void stergere(int x){
int val=x%M;
vector<int>::iterator it=gasire(x);
if(it!=v[val].end())
v[val].erase(it);
}
int main(){
int k,x,n;
f>>n;
for(int i=1; i<=n; ++i){
f>>k>>x;
if(k==1)inserare(x);
if(k==2)stergere(x);
if(k==3){
int ok=gasire(x)!=v[x%M].end();
g<<ok<<'\n';
}
}
return 0;
}