Cod sursa(job #3158543)

Utilizator CraiuAndreiCraiu Andrei David CraiuAndrei Data 18 octombrie 2023 23:06:41
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.92 kb
#include <bits/stdc++.h>
#define P 123457
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");

vector<int> h[P];

void Inserare(int x)
{
    int r,i,L;
    r=x%P;
    L=h[r].size();
    for(i=0;i<L;i++)
        if(h[r][i]==x)return;
    h[r].push_back(x);
}

void Stergere(int x)
{
    int r,i,L;
    r=x%P;
    L=h[r].size();
    for(i=0;i<L;i++)
        if(h[r][i]==x)
        {
            h[r][i]=h[r][L-1];
            h[r].pop_back();
            return;
        }
}

int Find(int x)
{
    int r,L,i;
    r=x%P;
    L=h[r].size();
    for(i=0;i<L;i++)
        if(h[r][i]==x)return 1;
    return 0;
}

int main()
{
    int n,x,op;
    fin>>n;
    for(int i=1;i<=n;i++)
    {
        fin>>op>>x;
        if(op==1)Inserare(x);
        else if(op==2)Stergere(x);
        else fout<<Find(x)<<"\n";
    }
    fin.close();
    fout.close();
    return 0;
}