Cod sursa(job #2896458)

Utilizator bianca2002Bianca bianca2002 Data 29 aprilie 2022 23:15:03
Problema Hashuri Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.93 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");

const int nrprim = 300089;

vector <int> h[nrprim];

bool gaseste(int x)
{
    int nr = x % nrprim;

    for(int i : h[nr])
        if(i == x) return 1;
    return 0;
}

void sterge (int x)
{
    int nr = x % nrprim;
        for(int i = 0; i < h[nr].size(); i++)
        if(h[nr][i] == x)
    {
        swap(h[nr][i], h[nr][h[nr].size()-1]);
        h[nr].pop_back();
        break;
    }
}

void adauga(int x)
{
    int nr = x % nrprim;

    if(!gaseste(x))
        h[nr].push_back(x);
}

int main()
{

    int n, i, x, k;

    f>>n;

    for(i=0;i<n;i++)
    {
        f>>k>>x;
        if(k==1)
        {
            adauga(x);
        }
        else if(k==2)
        {
            sterge(x);
        }
        else if(k==3) g<<gaseste(x)<<endl;
    }

}