Cod sursa(job #2747720)

Utilizator atudoreimirunaAtudorei Miruna Gabriela atudoreimiruna Data 29 aprilie 2021 16:09:14
Problema Hashuri Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.16 kb
#include <iostream>
#include <fstream>
#include <vector>

#define NrPrim 66013

using namespace std;

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

vector <int> a [NrPrim];
vector <int> :: iterator i;
int n;

void Inserare ( int x )
{
    int nr;
    nr = x % NrPrim;
    if ( !Cautare(x) )
        a[nr].push_back(x);
}

int Cautare ( int x )
{
    int nr;
    nr = x % NrPrim;
    for ( i = a[nr].begin(); i != a[nr].end(); i++ )
        if ( *i == x )
            return 1;
    return 0;
}

void Stergere ( int x )
{
    int nr;
    nr = x % NrPrim;
    for ( i = a[nr].begin(); i != a[nr].end(); i++ )
        if ( *i == x )
        {
            a[nr].erase(i);
            break;
        }
} 

int main()
{
    int operatie, elem;
    fin >> n;

    for ( int i = 1; i <= n; i++ )
    {
        fin >> operatie >> elem;
        if ( operatie == 1 )
            Inserare(elem);
        else if ( operatie == 2 )
            {
                if ( Cautare(elem) )
                    Stergere(elem);
            }
            else 
                {
                    fout << Cautare(elem);
                    fout << "\n";
                }
    }
    return 0;
}