Cod sursa(job #2773863)

Utilizator 134_tufa_liliana_ionelaTufa Liliana Ionela 134_tufa_liliana_ionela Data 9 septembrie 2021 01:53:57
Problema Hashuri Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.15 kb
#include <fstream>
#include <vector>
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
vector <int> h[769553];
int n, element, operatie, i, j, cheie, mod = 769553;

void inserare(int element, int cheie)
{
    int ok = 1;
    for (i = 0; i < h[cheie].size(); i++)
        if(element == h[cheie][i])
            {
                ok = 0;
                break;
            }
    if (ok)
        h[cheie].push_back(element);
}
void stergere(int element, int cheie)
{
    for (i = 0; i < h[cheie].size(); i++)
        if(element == h[cheie][i])
            h[cheie].erase(h[cheie].begin()+i);
}
int cautare(int element, int cheie)
{
    for (i = 0; i < h[cheie].size(); i++)
        if(element == h[cheie][i])
            return 1;
    return 0;
}

int main()
{
    f>>n;
    for(j=0; j<n; j++)
    {
        f>>operatie>>element;
        cheie = element % mod;
        if(operatie==1)
            inserare(element, cheie);

        else if (operatie==2)
            stergere(element, cheie);

        else
            g<<cautare(element, cheie)<<endl;

    }
    f.close();
    g.close();
    return 0;
}