Cod sursa(job #2574012)

Utilizator mihailrazMihail Turcan mihailraz Data 5 martie 2020 19:57:49
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.83 kb
#include <fstream>
#include <vector>
#define k(x) x%prim

using namespace std;
ifstream fi("hashuri.in");
ofstream fo("hashuri.out");
const int prim=669173;
int n;
vector <int> H[prim+5];

void adauga(int x)
{
    H[k(x)].push_back(x);
}

void sterge(int x)
{
    for(int i=0; i<H[k(x)].size(); i++)
        if(H[k(x)][i]==x)
        {
            H[k(x)][i]=H[k(x)][H[k(x)].size()-1];
            H[k(x)].pop_back();
        }
}

bool apare(int x)
{
    for(auto el:H[k(x)])
        if(el==x)
            return 1;
    return 0;
}

int main()
{
    fi>>n;
    while(n--)
    {
        int q, x;
        fi>>q>>x;
        if(q==1)
            adauga(x);
        else if(q==2)
            sterge(x);
        else
            fo<<apare(x)<<"\n";
    }
    fi.close();
    fo.close();
    return 0;
}