Cod sursa(job #1730591)

Utilizator Andrei_PopaAndreiCDG Andrei_Popa Data 17 iulie 2016 11:22:20
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.34 kb
#include <iostream>
#include <stdio.h>
#include <fstream>
#include <vector>
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");


vector<int> G[660001];
int key=66001;

vector<int>::iterator find_element(int val,int list)
{
    vector<int>::iterator it;
    for( it=G[list].begin(); it < G[list].end(); it++)
    if(*it==val)
    return it;

    return G[list].end();

}

void insert_element(int val)
{
    int list=val%key;
    if(find_element(val,list)==G[list].end())
    {
        G[list].push_back(val);
    }
}

void erase_element(int val)
{
    int list=val%key;
     vector<int>::iterator it = find_element(val,list);

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

}

void bool_exist(int val)
{
    int list=val%key;
    vector<int>::iterator it = find_element(val,list);
    if(it==G[list].end())
    g<<"0"<<'\n';
    else
    g<<"1"<<'\n';
}

int main()
{
    int nrOperatii;
    int op;
    int val;

    f>>nrOperatii;

    for(int i=1;i<=nrOperatii;i++)
    {
        f>>op>>val;
        if(op==1)
        insert_element(val);
        else
        {
            if(op==2)
            erase_element(val);
            else
            {

                bool_exist(val);
            }
        }
    }

    f.close();
    g.close();

    return 0;
}