Pagini recente » Monitorul de evaluare | Cod sursa (job #1639754) | Cod sursa (job #817656) | Cod sursa (job #1106145) | Cod sursa (job #1886588)
#include <fstream>
#include <vector>
#define MOD 666013
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
int n;
vector <int>G[MOD];
inline vector<int>::iterator find_value(int x){
int list=x%MOD;
vector <int>::iterator it;
for(it=G[list].begin();it!=G[list].end();++it)
if(*it==x)
return it;
return G[list].end();}
inline void insert_value(int x){
int list=x%MOD;
if(find_value(x)==G[list].end())
G[list].push_back(x);
}
inline void erase_value(int x){
int list=x%MOD;
vector <int>::iterator it=find_value(x);
if(it!=G[list].end())
G[list].erase(it);
}
int main(){
int op,x;
fin>>n;
for(int i=1;i<=n;i++){
fin>>op>>x;
if(op==1)
insert_value(x);
if(op==2)
erase_value(x);
if(op==3)
fout<<(find_value(x)!=G[x%MOD].end())<<'\n';
}
return 0;}