Pagini recente » Cod sursa (job #1989432) | Cod sursa (job #1959303) | Cod sursa (job #2174903) | Cod sursa (job #2573593) | Cod sursa (job #568202)
Cod sursa(job #568202)
#include<fstream>
#include<list>
using namespace std;
list<int>a[(1<<20)];
unsigned A = ((1u<<31)|3462875);
list<int>::iterator cauta(int x){
list<int>::iterator it;
int l=(A*x>>12);
for(it=a[l].begin();it!=a[l].end();++it)
if(*it==x)
return it;
return a[l].end();
}
int main(){
int n, i,cod;
unsigned x;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
f>>n;
for(i=0;i<n;i++)
{
f>>cod>>x;
if(cod==1){
if(cauta(x)==a[(A*x>>12)].end())
a[(A*x>>12)].push_back(x);
}
else if(cod==3){
if(cauta(x)!=a[(A*x>>12)].end())
g<<"1\n";
else g<<"0\n";
}
else if(cod==2){
list<int>::iterator it;
it=cauta(x);
if(it!=a[(A*x>>12)].end())
a[(A*x>>12)].erase(it);
}
}
f.close();
g.close();
return 0;
}