Pagini recente » Cod sursa (job #600429) | Cod sursa (job #261820) | Cod sursa (job #2363505) | Cod sursa (job #1229973) | Cod sursa (job #568206)
Cod sursa(job #568206)
#include<fstream>
#include<list>
using namespace std;
list<int>a[(1<<19)];
unsigned A = ((1u<<31)|(875*32+1));
list<int>::iterator cauta(int x){
list<int>::iterator it;
int l=(A*x>>13);
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>>13)].end())
a[(A*x>>13)].push_back(x);
}
else if(cod==3){
if(cauta(x)!=a[(A*x>>13)].end())
g<<"1\n";
else g<<"0\n";
}
else if(cod==2){
list<int>::iterator it;
it=cauta(x);
if(it!=a[(A*x>>13)].end())
a[(A*x>>13)].erase(it);
}
}
f.close();
g.close();
return 0;
}