Cod sursa(job #1495197)

Utilizator armandpredaPreda Armand armandpreda Data 2 octombrie 2015 18:46:00
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.04 kb
#include <fstream>
#include <vector>

using namespace std;

ifstream cin("hashuri.in");
ofstream cout("hashuri.out");

const int MOD=66013;
int n, op, x;
vector <int> lista[MOD];
vector <int> :: iterator cauta(int x)
{
    int lin=x%MOD;
    for(vector <int> :: iterator it=lista[lin].begin(); it!=lista[lin].end(); ++it)
        if(*it==x)
            return it;
    return lista[lin].end();
}
void baga(int x)
{
    int lin=x%MOD;
    vector <int> :: iterator it=cauta(x);
    if(it==lista[lin].end())
        lista[lin].push_back(x);
}
void scoate(int x)
{
    int lin=x%MOD;
    vector <int> :: iterator it=cauta(x);
    if(it!=lista[lin].end())
        lista[lin].erase(it);
}
int main()
{
    cin>>n;
    for(int i=1; i<=n; ++i)
    {
        cin>>op;
        cin>>x;
        if(op==1) baga(x);
        if(op==2) scoate(x);
        if(op==3)
        {
            int lin=x%MOD;
            vector <int> :: iterator it=cauta(x);
            cout<<(it!=lista[lin].end())<<'\n';
        }
    }
    return 0;
}