Cod sursa(job #2059149)

Utilizator GeorgeCalinPetruta George-Calin GeorgeCalin Data 6 noiembrie 2017 18:30:44
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.19 kb
#include <fstream>
#include <vector>
#define nm 666013
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");

vector <int> lista[nm];
vector <int>::iterator it;

vector <int>::iterator gaseste(int x)
{
    int m=x%nm;
    for(it=lista[m].begin();it!=lista[m].end();it++)
    {
        if(*it==x)
            return it;
    }
    return lista[m].end();
}

void adauga(int x)
{
    int m=x%nm;
    if(gaseste(x)==lista[m].end())
        lista[m].push_back(x);
}

void sterge(int x)
{
    int m=x%nm;
    vector <int>::iterator ot=gaseste(x);
    if(it!=lista[m].end())
        lista[m].erase(ot);
}

int main()
{
    int n,c,x;
    fin>>n;
    for(int i=1;i<=n;i++)
    {
        fin>>c>>x;
        if(c==1)
        {
            adauga(x);
        }
        else
        {
            if(c==2)
            {
                sterge(x);
            }
            else
            {
                int md=x%nm;
                if(gaseste(x)!=lista[md].end())
                {
                    fout<<"1\n";
                }
                else
                    fout<<"0\n";
            }
        }
    }
    return 0;
}