Cod sursa(job #2094882)

Utilizator andreiutu111Noroc Andrei Mihail andreiutu111 Data 26 decembrie 2017 17:51:20
Problema Hashuri Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.93 kb
#include<fstream>
#include<vector>
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
int N,x,y;
vector <int> G[1000001];
vector <int>::iterator find_value(int x){
    int list=x%666013;
    vector <int>::iterator it;
    for(it=G[list].begin();it!=G[list].end();++it)
            if(*it==x)
                return it;
    return G[list].end();
}
void add_value(int x){
    int list=x%666013;
    if(find_value(x)!=G[list].end())
        G[list].push_back(x);
}
void erase_value(int x){
    int list=x%666013;
    vector<int>::iterator it=find_value(x);
    if(it!=G[list].end())G[list].erase(it);
}
int main()
{
    f>>N;
    while(N--){
        f>>x>>y;
        if(x==1){
            add_value(y);
        }else if(x==2){
            erase_value(y);
        }else{
            if(find_value(y)!=G[y%666013].end())g<<1<<'\n';
            else g<<0<<'\n';
        }
    }
    return 0;
}