Cod sursa(job #2544087)

Utilizator GeorgianBaditaBadita Marin-Georgian GeorgianBadita Data 11 februarie 2020 19:21:41
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.91 kb
#include<bits/stdc++.h>
#define P 666013


//in-out
std::ifstream f("hashuri.in");
std::ofstream g("hashuri.out");

//data
std::vector<int> H[P];
int n;


void insert(int x){
    int i = x % P;
    H[i].push_back(x);
}

void deleteElement(int x){
    int i = x % P;
    for(int j = 0; j<H[i].size(); j++){
        if(H[i][j] == x){
            H[i][j] = H[i][H[i].size() - 1];
            H[i].pop_back();
            break;
        }
    }
}

bool exists(int x){
    int i = x % P;
    for(const auto& elem : H[i]){
        if(elem == x){
            return true;
        }
    }
    return false;
}

//solve
void solve(){
    f >> n;
    int op, param;
    for(int i = 0; i<n; i++){
        f >> op >> param;
        if(op == 1){
            insert(param);
        }else if(op == 2){
            deleteElement(param);
        }else{
            g << exists(param) << '\n';
        }
    }
}

int main(){
    solve();
    return 0;
}