Cod sursa(job #2204032)

Utilizator andrei32576Andrei Florea andrei32576 Data 14 mai 2018 10:32:16
Problema Hashuri Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.96 kb
#include <fstream>
#include <vector>
using namespace std;

#define mod 666013

int n;
vector<int> G[mod];

ifstream f("hashuri.in");
ofstream g("hashuri.out");

inline vector<int>::iterator findValue(int x)
{
    int list=x%mod;
    vector<int>::iterator it;

    for(it=G[list].begin();it!=G[list].end();++it)
        if(*it==x)
            return it;
    return G[list].end();
}

inline void insert(int x)
{
    int list=x%mod;
    if(findValue(x)==G[list].end())
        G[list].push_back(x);
}

inline void erase(int x)
{
    int list=x%mod;
    vector<int>::iterator it=findValue(x);

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

int main()
{
    int op,x;
    f>>n;
    for(;n;--n)
    {
        f>>op>>x;
        if(op==1)
            insert(x);
        else if(op==2)
            erase(x);
        else
            g<<(findValue(x)!=G[x].end())<<"\n";
    }

    f.close();
    g.close();
    return 0;
}