Cod sursa(job #1737763)

Utilizator tziplea_stefanTiplea Stefan tziplea_stefan Data 4 august 2016 18:44:03
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.99 kb
#include <fstream>
#include <vector>
#define VAL 200001

using namespace std;

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

int N, i;
int op, x;
vector<int> v[VAL];
vector<int>::iterator it;

int cauta(int x)
{
    int lst;
    lst=x % VAL;
    for (it=v[lst].begin(); it!=v[lst].end(); it++)
      if (*it==x)
        return 1;
    return 0;
}

void insereaza(int x)
{
    int lst;
    lst=x % VAL;
    if (cauta(x)==0)
      v[lst].push_back(x);
}

void sterge(int x)
{
    int lst;
    lst=x % VAL;
    for (it=v[lst].begin(); it!=v[lst].end(); it++)
    {
        if (*it==x)
        {
            v[lst].erase(it);
            return;
        }
    }
}

int main()
{
    fin >> N;
    for (i=1; i<=N; i++)
    {
        fin >> op >> x;
        if (op==1)
          insereaza(x);
        if (op==2)
          sterge(x);
        if (op==3)
          fout << cauta(x) << '\n';
    }
    fin.close();
    fout.close();
    return 0;
}