Cod sursa(job #2625032)

Utilizator albertyoAlbert Mindrescu albertyo Data 5 iunie 2020 17:58:28
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.08 kb
#include <bits/stdc++.h>
#define MOD 666013

using namespace std;

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

vector < int > a [MOD];

int n;

int Cautare(int x) {

    int val = x % MOD;
    vector < int >:: iterator i;

    for ( i = a[val].begin(); i != a[val].end(); i++ )
        if ( *i == x )
            return 1;

    return 0;
}

void Inserare(int x) {

    int val = x % MOD;

    if ( !Cautare(x) )
        a[val].push_back(x);
}

void Stergere(int x) {

    int val = x % MOD;
    vector < int >::iterator i;

    for( i = a[val].begin(); i != a[val].end(); i++ )

        if (*i == x) {

            a[val].erase(i);
            break;
        }
}


int main()
{
    int i, operatie, nr;
    fin >> n;

    for ( i = 1; i <= n; i++) {

        fin >> operatie >> nr;

        if ( operatie == 1 )
            Inserare(nr);

        else if ( operatie == 2 ) {

            if (Cautare(nr))
                Stergere(nr);
        }

        else
            fout << Cautare(nr) << "\n";

    }

    return 0;
}