Cod sursa(job #2761392)

Utilizator jaha01Jahaleanu Vlad-Gabriel jaha01 Data 2 iulie 2021 01:52:06
Problema Heapuri Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.36 kb
#include <iostream>
#include <bits/stdc++.h>

using namespace std;

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

vector <long long int> h[777777];

void add(long long int x)
{
    int idx = x % 666013;
    h[idx].push_back(x);
}

void sterge(long long int x)
{
    int idx = x % 666013;

    for(int i = 0; i < h[idx].size(); i++)
    {
        if(h[idx][i] == x)
            //h[idx].clear();
            h[idx].erase(h[idx].begin()+i);
    }
}

int exista(long long int x)
{
    int idx = x % 666013;

    for(int i = 0; i < h[idx].size(); i++)
    {
        if(h[idx][i] == x)
            return 1;
    }

    return 0;

}

int main()
{
    int op, nrop;
    long long int x;

    f>>nrop;

    for(int i = 0; i < nrop; i++)
    {
        f>>op>>x;

        /*switch(op)
        {
            case 1:
                {
                    add(x);
                    break;
                }
            case 2:
                {
                    sterge(x);
                    break;
                }
            case 3:
                {
                    g<<exista(x)<<"\n";
                    break;
                }
        }*/

        if(op == 1) add(x);
        else if(op == 2) sterge(x);
        else g<<exista(x)<<"\n";

    }

    f.close();
    g.close();

    return 0;
}