Cod sursa(job #607576)

Utilizator vladtarniceruVlad Tarniceru vladtarniceru Data 12 august 2011 17:30:02
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.95 kb
# include <fstream>
# include <vector>
using namespace std;

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

const int MOD = 666013;
vector <int> A[MOD];
int n, x, y;

inline vector <int> :: iterator cauta (int y)
{
    int nr = y % MOD;
    vector <int> :: iterator it;
    for (it = A[nr].begin (); it != A[nr].end (); ++it)
        if (*it == y)
            return it;
    return A[nr].end ();
}

void insereaza (int y)
{
    int nr = y % MOD;
    if (cauta (y) == A[nr].end ())
        A[nr].push_back (y);
}

void sterge (int y)
{
    int nr = y % MOD;
    vector <int> :: iterator it = cauta (y);
    if (it != A[nr].end ())
        A[nr].erase (it);
}
int main ()
{
    f >> n;
    for (; n > 0; --n)
    {
        f >> x >> y;
        if (x == 1)
            insereaza (y);
        else
        if (x == 2)
            sterge (y);
        else
            g << (cauta (y) != A[y % MOD].end ()) << '\n';
    }
}