Cod sursa(job #1795614)

Utilizator mihnea00Duican Mihnea mihnea00 Data 2 noiembrie 2016 18:34:57
Problema Hashuri Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.9 kb
#include <fstream>

using namespace std;

ifstream fin("hashuri.in");
ofstream fout("hashuri.out");

int r,caz,x,y,p=666013,i,j,k,m,n,nr,v[2][10000010],h[100000010];

int gasire(int x)
{
    r=x%p;
    y=h[r];
    while(y)
    {
        if(x==v[1][y])
            return y;
        y=v[2][y];
    }
    return 0;
}
void pune(int x)
{
    r=x%p;
    if(gasire(x))
        return;
    nr++;
    v[1][nr]=x;
    v[2][nr]=h[r];
    h[r]=nr;
}
void deli(int x)
{
    r=x%p;
    y=gasire(x);
    if(gasire(x)==0)
        return;
    v[1][y]=-1;
}
int main()
{
    fin>>n;
    for(i=1;i<=n;++i)
    {
        fin>>caz>>x;
        if(caz==1)
            pune(x);
        if(caz==2)
            deli(x);
        if(caz==3)
        {
            if(gasire(x))
                fout<<1<<"\n";
            else
                fout<<0<<"\n";
        }
    }
    return 0;
}