Cod sursa(job #2763058)

Utilizator KarinAAndrei Karina KarinA Data 11 iulie 2021 13:22:37
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.9 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;

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

const int P=370003;
vector <int> h[P+2];
int n,op,x;

void adauga(int val)
{
    int r=val%P;
    h[r].push_back(val);
}

int cauta(int val)
{
    int r=val%P,lg=h[r].size();
    for(int i=0;i<lg;i++)
    {
        if(h[r][i]==val)
            return i;
    }
    return -1;
}

void sterge(int val)
{
    int r=val%P,lg=h[r].size();
    int i=cauta(val);
    if(i!=-1)
    {
        swap(h[r][i],h[r][lg-1]);
        h[r].pop_back();
    }
}

void citeste()
{
    in>>n;
    for(int i=1;i<=n;i++)
    {
        in>>op>>x;
        if(op==1)
            adauga(x);
        if(op==2)
            sterge(x);
        if(op==3)
            out<<(cauta(x)==-1 ? 0 : 1)<<'\n';
    }
}

int main()
{
    citeste();
    return 0;
}