Cod sursa(job #1002523)

Utilizator ionutmodoModoranu Ionut-Vlad ionutmodo Data 27 septembrie 2013 22:58:55
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.24 kb
#include <iostream>
#include <fstream>
#include <vector>
#define MOD 666013
using namespace std;

vector<int> H[MOD];

inline bool Exista(int x)
{
    int cod = x % MOD;
    vector<int>::iterator it;
    for(it = H[cod].begin(); it != H[cod].end(); ++it)
        if(*it == x)
            return true;
    return false;
}

inline void Inserare(int x)
{
    int cod = x % MOD;
    H[cod].push_back(x);
}

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

int main()
{
    int n, op, x;
    ifstream fin("hashuri.in");
    ofstream fout("hashuri.out");

    fin >> n;
    while(n--)
    {
        fin >> op;
        switch(op)
        {
            case 1:
                fin >> x;
                if(!Exista(x))
                    Inserare(x);
                break;
            case 2:
                fin >> x;
                if(Exista(x))
                    Stergere(x);
                break;
            case 3:
                fin >> x;
                fout << Exista(x) << "\n";
                break;
        }
    }

    fin.close();
    fout.close();
    return 0;
}