Cod sursa(job #3039987)

Utilizator unomMirel Costel unom Data 29 martie 2023 10:32:10
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.16 kb
#include <fstream>
#include <vector>

using namespace std;

struct ha
{
    vector <int> v;
};

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

ha h[666030];
int MOD = 666019;
int n;

int cauta(int x)
{
    int x1 = x % MOD;
    for(int i = 0; i<h[x1].v.size(); i++)
    {
        if(h[x1].v[i] == x)
        {
            return 1;
        }
    }

    return 0;
}

void adauga(int x)
{
    if(!cauta(x))
    {
        h[x%MOD].v.push_back(x);
    }
}

void sterge(int x)
{
    int x1 = x % MOD;

    for(int i = 0; i<h[x1].v.size(); i++)
    {
        if(h[x1].v[i] == x)
        {
            h[x1].v.erase(h[x1].v.begin() + i);
            break;
        }
    }
}


int main()
{
    f>>n;
    int p, x;
    while(n--)
    {
        f>>p>>x;
        if(p == 1)
        {
            adauga(x);
        }
        else if(p == 2)
        {
            sterge(x);
        }
        else if(p == 3)
        {
            if(cauta(x))
            {
                g<<1<<'\n';
            }
            else
            {
                g<<0<<'\n';
            }
        }
    }
    return 0;
}