Cod sursa(job #2232493)

Utilizator Alexandru_StoianStoian Sorin Alexandru Alexandru_Stoian Data 19 august 2018 17:36:09
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.96 kb
#include <iostream>
#include <fstream>
#include <vector>
#define M 666013

using namespace std;

ifstream f("hashuri.in");
ofstream g("hashuri.out");

vector<int> v[M];

///Gasire valoare
vector<int>::iterator gasire(int x){
    int val=x%M;
    vector<int>::iterator it;
    for(it=v[val].begin(); it!=v[val].end(); ++it)
        if(*it==x)
            return it;
    return v[val].end();
}

///Inserare valoare
void inserare(int x){
    int val=x%M;
    if(gasire(x)==v[val].end())
        v[val].push_back(x);
}

///Stergere Valoare
void stergere(int x){
    int val=x%M;
    vector<int>::iterator it=gasire(x);
    if(it!=v[val].end())
        v[val].erase(it);
}

int main(){
    int k,x,n;
    f>>n;
    for(int i=1; i<=n; ++i){
        f>>k>>x;
        if(k==1)inserare(x);
        if(k==2)stergere(x);
        if(k==3){
            int ok=gasire(x)!=v[x%M].end();
            g<<ok<<'\n';
        }
    }
    return 0;
}