Cod sursa(job #1900006)

Utilizator marcdariaDaria Marc marcdaria Data 3 martie 2017 09:04:11
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.04 kb
#include <iostream>
#include <vector>
#define MOD 666013
#include <fstream>

using namespace std;

vector<int> G[MOD];

inline vector<int>::iterator find_value(int x);
inline void insert_value(int x);
inline void erase_value(int x);

int main()
{
    int op,x,N;
    ifstream fin("hashuri.in");
    ofstream fout("hashuri.out");

    fin>>N;
    while(N--)
    {
        fin>>op>>x;
        if(op==1) {insert_value(x); continue;}
        if(op==2) {erase_value(x); continue;}

        fout<<(find_value(x)!=G[x%MOD].end())<<'\n';
    }

    return 0;
}

inline vector<int>::iterator find_value(int x)
{
    int li=x%MOD;
    for(vector<int>::iterator i=G[li].begin();i!=G[li].end();++i)
        if(*i==x)
        return i;
    return G[li].end();
}
inline void insert_value(int x)
{
    int l=x%MOD;
    if(find_value(x)==G[l].end())
        G[l].push_back(x);
}
inline void erase_value(int x)
{
    int l=x%MOD;
    vector<int>::iterator it=find_value(x);

    if(it!=G[l].end())
        G[l].erase(it);
}