Pagini recente » Cod sursa (job #2330529) | Cod sursa (job #220619) | Cod sursa (job #1571167) | Cod sursa (job #2821635) | Cod sursa (job #2698483)
#include <iostream>
#include <fstream>
using namespace std;
int val[1000005];
int urm[1000005];
int lst[666025]= {0};
int q,n,poz=1,nr;
bool cautare(int w)
{
int c=nr%666019;
int p=lst[c];
while(p!=0)
{
if(val[p]==w)
{
return 1;
}
p=urm[p];
}
return 0;
}
int main()
{
ifstream in("hashuri.in");
ofstream out("hashuri.out");
in>>n;
for(int i=0; i<n; i++)
{
in>>q>>nr;
if(q==1)
{
int c=nr%666019;
val[poz]=nr;
urm[poz]=lst[c];
lst[c]=poz;
poz++;
}
else if(q==2)
{
int c=nr%666019;
int p=lst[c];
while(p!=0&&val[p]!=nr)
{
p=urm[p];
}
if(val[p]!=0)
{
swap(val[p],val[lst[c]]);
lst[c]=urm[lst[c]];
}
}
else if(q==3)
{
out<<cautare(nr)<<"\n";
}
}
return 0;
}