Cod sursa(job #1955159)

Utilizator robertpop99Popescu Robert Gabriel robertpop99 Data 5 aprilie 2017 20:24:14
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 kb
#include <iostream>
#include <fstream>
#include <vector>
#define p 499979
using namespace std;
vector <int> v[p];
int n,x,y;

inline vector<int>::iterator find_value(int x)
{
    int val=x%p;
    vector<int>::iterator i;
    for(i=v[val].begin();i!=v[val].end();++i)
        if(*i==x) return i;
    return v[val].end();
}

void delete_value(int x)
{
    int val=x%p;
    vector<int>::iterator i=find_value(x);
    if(i!=v[val].end()) v[val].erase(i);

}

void add_value(int x)
{
    int val=x%p;
    if(find_value(x)==v[val].end()) v[val].push_back(x);
}
int main()
{
    ifstream fin("hashuri.in");
    ofstream fout("hashuri.out");
    fin>>n;
    for(n;n;--n)
    {
        fin>>x>>y;
        if(x==1) add_value(y);
        if(x==2) delete_value(y);
        if(x==3) fout<<(find_value(y)!=v[y%p].end())<<'\n';
    }
    return 0;
}