Pagini recente » Cod sursa (job #1727316) | Cod sursa (job #1079149) | Cod sursa (job #1629057) | Cod sursa (job #1911379) | Cod sursa (job #2797119)
#include <bits/stdc++.h>
#define MOD 666013
using namespace std;
FILE *f=fopen("hashuri.in","r");
FILE *g=fopen("hashuri.out","w");
int n,x,op;
vector <int> A[MOD+1];
inline void adauga(int x){
int r=x%MOD;
A[r].push_back(x);
}
inline vector<int> ::iterator cautare(int x){
vector<int>::iterator it;
int r=x%MOD;
vector<int>::iterator lim=A[r].end();
for(it=A[r].begin();it!=lim;it++)
if(*it==x)
return it;
return A[r].end();
}
inline void sterge(int x){
int r=x%MOD;
int lim=A[r].size();
vector <int> ::iterator it=cautare(x);
if(it!=A[r].end())
A[r].erase(it);
}
int main()
{
fscanf(f,"%d ",&n);
for(int i=1;i<=n;i++){
fscanf(f,"%d %d",&op,&x);
if(op==1)
adauga(x);
else if(op==2)
sterge(x);
else fprintf(g,"%d\n",(cautare(x)!=A[x%MOD].end()?1:0));
}
}