Cod sursa(job #2254501)

Utilizator cristia_razvanCristia Razvan cristia_razvan Data 5 octombrie 2018 14:51:04
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.02 kb
#include <bits/stdc++.h>

using namespace std;
#define p 123457
vector <int> h[p];
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
void adauga(int x)
{
    int r;
    r=x%p;
    for(auto w: h[r])
        if(w==x)
        return;
    h[r].push_back(x);
}
int cauta(int x )
{
    int r;
    r=x%p;
    for(auto v:h[r])
        if(v==x)
        return 1;
    return 0;
}
void sterge(int x)
{
     int r;
     r=x%p;
     int l;
     l=h[r].size();
     int i;
     for(i=0;i<l;i++)
     {
         if(x==h[r][i])
         {
             h[r][i]=h[r][l-1];
             h[r].pop_back();
             return ;
         }
     }
}
int main()
{
    int n;
    fin>>n;
    int x,op;
    for(int i=1;i<=n;i++)
    {
        fin>>op>>x;
        if(op==1)
            adauga(x);
        else if(op==2)
        {
            sterge(x);
        }
        else {
            if(cauta(x))
                fout<<"1\n";
            else fout<<"0\n";
        }
        }

    return 0;
}