Cod sursa(job #2040178)

Utilizator BourucLiviuBouruc Petru Liviu BourucLiviu Data 15 octombrie 2017 14:22:43
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.25 kb
#include <fstream>
#include <vector>

#define MOD 777013

using namespace std;

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

vector <int> H[MOD];

inline void adauga(int x)
{
    int i = x % MOD;
    vector <int>::iterator it;
    for(it = H[i].begin(); it != H[i].end(); ++it)
        if(*it == x) return;
    H[i].push_back(x);
}

inline void sterge(int x)
{
    int i = x % MOD;
    vector <int>::iterator it;
    for(it = H[i].begin(); it != H[i].end(); ++it)
        if(*it == x)
        {
            H[i].erase(it);
            return;
        }
}

int main()
{
    int n, op, x;
    fin >> n;
    while(n--)
    {
        fin >> op >> x;
        if(op == 1)
        {
            adauga(x);
            continue;
        }
        else if(op == 2)
        {
            sterge(x);
            continue;
        }
        else
        {
            int i = x % MOD;
            vector <int>::iterator it;
            for(it = H[i].begin(); it != H[i].end(); ++it)
                if(*it == x)
                {
                    fout << "1\n";
                    break;
                }
            if(it == H[i].end())
                fout << "0\n";
        }
    }
    return 0;
}