Cod sursa(job #1554501)

Utilizator alin1999Buzatu Alin alin1999 Data 21 decembrie 2015 13:41:03
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.85 kb
#include <fstream>
#define p 666013
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");

int a[3][1000001],h[1000001],x,c,n,i,v,e,r;

int gasire(int x)
{
    int r=x%p;
    int y=h[r];
    while(y)
    {
        if(a[1][y]==x)return y;
        y=a[2][y];
    }
    return 0;
}

void adaugare(int x)
{
    int r=x%p;
    if(gasire(x))return;
    e++;
    a[1][e]=x;
    a[2][e]=h[r];
    h[r]=e;
}

void stergere(int x)
{
    int r=x%p,y=gasire(x);
    if(!y)return;
    a[1][y]=-1;
}

int main()
{
    fin>>n;
    for(i=1;i<=n;i++)
    {
        fin>>c>>x;
        if(c==1)
        {
            adaugare(x);
        }
        if(c==2)
        {
            stergere(x);
        }
        if(c==3)
        {
            fout<<(gasire(x)?"1\n":"0\n");
        }

    }
    return 0;
}