Cod sursa(job #2626275)

Utilizator Gradinaru_StefanStef 2 Gradinaru_Stefan Data 6 iunie 2020 13:01:23
Problema Hashuri Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.16 kb
#include<fstream>
#include<vector>
#define PRIM 168457

using namespace std;

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

vector<int>v[PRIM];

void sterge (int el)
{
    int aux;

    aux = el % PRIM;
    vector<int>::iterator it;
    for(it = v[aux].begin(); it != v[aux].end(); it ++)
    {
        if(*it == el)
            {
            v[el % PRIM].erase(it);
            break;
            }
    }

}


int cauta(int el)
{
   int aux;

    aux = el % PRIM;

    vector<int>::iterator it;

    for(it = v[aux].begin(); it != v[aux].end(); ++ it)
    {
        if(*it == el)
            return 1;
    }
    return 0;
}

void adauga(int el)
{
    int aux;
    aux = el % PRIM;

    if(!cauta(el))
        v[aux].push_back(el);
}

int main()
{
    int n, x, y;
    f >> n;
    for (int i = 0; i < n; i++)
    {
        f>> x >> y;

        switch(x)
        {
            case 1:
                 adauga(y);
                break;
            case 2:
                if (cauta(y)) sterge(y);
                break;
            case 3:
                g <<cauta(y) <<endl;
        }
    }
    return 0;
}