Cod sursa(job #1891528)

Utilizator GoogalAbabei Daniel Googal Data 24 februarie 2017 09:25:35
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.94 kb
#include <fstream>
#include <vector>
#define MOD 666013

using namespace std;

ifstream fin("hashuri.in");
ofstream fout("hashuri.out");

int n;
vector < int > lista[MOD];

inline vector<int>::iterator findval(int x)
{
    int l=x%MOD;
    vector < int > :: iterator it;

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

inline void add(int x)
{
    int l=x%MOD;
    if(findval(x)==lista[l].end())
        lista[l].push_back(x);
}

inline void del(int x)
{
    int l=x%MOD;

    vector < int >::iterator it=findval(x);
    if(it!=lista[l].end())
        lista[l].erase(it);
}

int main()
{
    int i,x,op;
    fin>>n;
    for(i=1; i<=n; i++)
    {
        fin>>op>>x;
        if(op==1)
            add(x);
        else if(op==2)
            del(x);
        else fout<<(findval(x)!=lista[x%MOD].end())<<'\n';
    }
    return 0;
}