Cod sursa(job #2788973)

Utilizator VladutzPredoiVlad Predoi VladutzPredoi Data 26 octombrie 2021 18:49:16
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.06 kb
#include <fstream>
#include <vector>
#include <algorithm>

using namespace std;

ifstream fin("hashuri.in");
ofstream fout("hashuri.out");

const int mod=666013;
int c;
vector <int> h[mod+5];


int cauta(int x)
{
    int r=x%mod;
    for(int i=0;i<h[r].size();i++)
    {
        if(h[r][i]==x)
            return i;
    }
    return -1;
}


void adauga(int x)
{
    int r=x%mod;
    h[r].push_back(x);
}

void sterge(int x)
{
    int r=x%mod;
    int pos=cauta(x);
    if(pos!=-1)
    {
        h[r][pos]=h[r][h[r].size()-1];
        h[r].pop_back();
    }
}





void solve()
{
    fin>>c;
    while(c--)
    {
        int cerinta, x;
        fin>>cerinta>>x;
        if(cerinta==1)
            adauga(x);
        if(cerinta==2)
            sterge(x);
        if(cerinta==3)
        {
            if(cauta(x)!=-1)
            {
                fout<<1<<"\n";
            }
            else
            {
                fout<<0<<"\n";
            }
        }
    }
}

int main()
{
    solve();
    return 0;
}