Cod sursa(job #2253293)

Utilizator rnqftwcalina florin daniel rnqftw Data 3 octombrie 2018 20:55:11
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.02 kb
#include<bits/stdc++.h>

using namespace std;
#define MOD 89989
vector<int> ls[MOD];

vector<int>::iterator find_el(int x){
    int list = x % MOD;
    for(vector<int>::iterator it = ls[list].begin() ; it != ls[list].end() ; it++){
        if(*it == x)
            return it;
    }
    return ls[list].end();
}

void stergere(int x){
    int list = x % MOD ;
    if(find_el(x) != ls[list].end())
        ls[list].erase(find_el(x));
}

void adaugare(int x){
    int list = x % MOD ;
    if(find_el(x) == ls[list].end())
        ls[list].push_back(x);
}

int main(){
    ifstream in("hashuri.in");
    ofstream out("hashuri.out");
    int x , tip , n ;
    in >> n ;
    while(n--){
        in >> tip >> x ;
        if(tip == 1){
            adaugare(x);
            continue;
        }
        if(tip == 2){
            stergere(x) ;
            continue;
        }
        if(tip == 3) {
            int ans = find_el(x) != ls[x % MOD].end();
            out << ans << '\n';
        }

    }
}