Cod sursa(job #2078740)

Utilizator mihailrazMihail Turcan mihailraz Data 29 noiembrie 2017 21:24:27
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.93 kb
#include <bits/stdc++.h>
#define PRIM 669173

using namespace std;
ifstream fi("hashuri.in");
ofstream fo("hashuri.out");
int n,op,x;
vector <int> H[PRIM+1];

void adauga(int x)
{
    for(int i=0; i<H[x%PRIM].size(); i++)
        if(H[x%PRIM][i]==x)
            return;
    H[x%PRIM].push_back(x);
}

void sterge(int x)
{
    for(int i=0; i<H[x%PRIM].size(); i++)
        if(H[x%PRIM][i]==x)
        {
            H[x%PRIM][i]=H[x%PRIM].back();
            H[x%PRIM].pop_back();
        }
}

bool cauta(int x)
{
    for(int i=0; i<H[x%PRIM].size(); i++)
        if(H[x%PRIM][i]==x)
            return 1;
    return 0;
}

int main()
{
    fi>>n;
    while(n--)
    {
        fi>>op>>x;
        if(op==1)
            adauga(x);
        else
            if(op==2)
                sterge(x);
            else
                fo<<cauta(x)<<"\n";
    }
    fi.close();
    fo.close();
    return 0;
}