Cod sursa(job #1868060)

Utilizator moise_alexandruMoise Alexandru moise_alexandru Data 4 februarie 2017 15:45:25
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.07 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream in("hashuri.in");
ofstream out("hashuri.out");

const int prime = 100007;
vector <int> tabel[prime];
int cauta(int n)
{
    int r = n % prime;
    for(unsigned int i = 0; i < tabel[r].size(); i++)
    {
        if(tabel[r][i] == n)
            return i;
    }
    return -1;
}
void add(int n)
{
    int r = n % prime;
    tabel[r].push_back(n);
}
void stergere(int n)
{
    int r = n % prime;
    int nr = tabel[r].size() - 1;
    int poz = cauta(n);
    if(poz == -1)
        return;
    else
    {
        swap(tabel[r][poz], tabel[r][nr]);
        tabel[r].pop_back();
    }
}
int main()
{
    int T;
    in >> T;
    while(T--)
    {
        int op, n;
        in >> op >> n;
        if (op == 1)
            add(n);
        else if(op == 2)
            stergere(n);
        else if(op == 3)
        {
            if(cauta(n) == -1)
                out << 0 << "\n";
            else
                out << 1 << "\n";
        }
    }
    return 0;
}