Cod sursa(job #1318450)

Utilizator SorinmocanuFMI Sorin Mocanu Sorinmocanu Data 15 ianuarie 2015 22:59:07
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.05 kb
#include<iostream>
#include<fstream>
#include<vector>
using namespace std;
#define MOD 666013
int n;
vector<int> G[MOD];

inline vector<int>::iterator find_value(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_value(int x)
{
    int list=x%MOD;
    if(find_value(x)==G[list].end())
        G[list].push_back(x);
}
inline void erase_value(int x)
{
    int list=x%MOD;
    vector<int>::iterator it=find_value(x);
    if (it != G[list].end())
        G[list].erase(it);
}
int main()
{
    int op, x;
    ifstream f("hashuri.in");
    ofstream g("hashuri.out");

    for (f>>n;n!=0;--n)
    {   f>>op>>x;

        if (op==1)
            {insert_value(x); continue;}

        if (op == 2)
            {erase_value(x); continue;}

        if(find_value(x)!=G[x%MOD].end())
             g<<1<<"\n";
        else g<<0<<"\n";
    }
    f.close();
    g.close();
    return 0;
}