Cod sursa(job #2889714)

Utilizator gizzehhhAsavoaei Bianca Gabriela gizzehhh Data 13 aprilie 2022 09:57:46
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.24 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
#define k 666013

vector <int> h[k+5];
int op, n, x;
int i;

void Adaugare(int x)
{
    int clasa =  x % k;
    int found = 0;
    for(int i=0; i<h[clasa].size(); i++)
        if(h[clasa][i] == x)
            found = 1;
    if(found == 0)
        h[clasa].push_back(x);
}

void Stergere(int x)
{
    int clasa = x % k;
    int found = 0;
    int poz;
    for(int i=0; i<h[clasa].size(); i++)
        if(h[clasa][i] == x)
    {
        found = 1;
        poz = i;
        break;
    }
    if(found == 1)
    {
         swap(h[clasa][poz], h[clasa][h[clasa].size()-1]);
         h[clasa].pop_back();
    }

}

int Verificare(int x)
{
    int clasa = x%k;
    int found = 0;
    for(int i=0; i<h[clasa].size(); i++)
        if(h[clasa][i] == x)
    {
        found = 1;
        break;
    }

    return found;
}

int main()
{
    fin >> n;
    for(i=1; i<=n; i++)
    {
        fin >> op >> x;
        if(op == 1)
            Adaugare(x);
        else if(op == 2)
            Stergere(x);
        else
            fout << Verificare(x)<<"\n";
    }
    return 0;
}