Cod sursa(job #1223052)

Utilizator lucian666Vasilut Lucian lucian666 Data 25 august 2014 12:40:44
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.12 kb


#include <fstream>
#include <algorithm>
#include <vector>


#define pb push_back

using namespace std;

#define mod 666013
ofstream out("hashuri.out");


int n;
vector < int > G[mod];

vector < int >:: iterator find_value( int x )
{

    int k = x % mod;

    vector < int >:: iterator i;

    for( i = G[k].begin() ; i!=G[k].end(); ++i )
        if( *i == x )
            return i;
    return G[k].end();

}

void add( int x )
{

    int k = x % mod;

    if( find_value(x) == G[k].end() )
        G[k].pb(x);

}

void erase_value( int x )
{

    int k = x % mod;

    vector < int >:: iterator i = find_value(x);

    if( i != G[k].end() )
        G[k].erase(i);
}


int main()
{

    ifstream in("hashuri.in");

    in >> n;

    for( int tip , x ; n ; --n )
    {

        in >> tip >> x;

        if( tip == 1 )
        {

            add(x);
            continue;

        }

        if( tip == 2 )
        {

            erase_value(x);
            continue;

        }


        out << ( find_value(x) != G[ x % mod].end() ) << '\n';

    }

}