Cod sursa(job #1317212)

Utilizator CiurezAndreiCiurez Marius-Andrei CiurezAndrei Data 14 ianuarie 2015 18:31:21
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.06 kb
#include <fstream>
#include <map>
#include <vector>

using namespace std;

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

vector <int> L[666013];
int n, i, a, b, nr;
vector<int>::iterator find_val(int x){
        int a = x % 666013;
        vector<int>::iterator it;
        for(it = L[a].begin(); it != L[a].end(); it ++)
            if(*it == x)
                return it;
        return L[a].end();
}
void insert_val(int x){
    int a = x % 666013;
    if(L[a].end() == find_val(x))
        L[a].push_back(x);

}
void erase_val(int x){
    int a = x % 666013;
    vector<int>::iterator it = find_val(x);
    if(it != L[a].end())
        L[a].erase(it);

}
int main()
{
    fin >> n;
    for(i = 1; i <= n; i ++){
        fin >> a >> b;
        if(a == 1)
            {
                insert_val(b);
            }
        else
            if(a == 2)
            {
                erase_val(b);
            }
            else
                fout << (find_val(b) != L[b % 666013].end()) << '\n';
    }
    return 0;
}