Cod sursa(job #2749946)

Utilizator danibaciuBaciu Daniel Mihai danibaciu Data 9 mai 2021 08:46:36
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.39 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");

class MyUnorderedMap {
    vector<int> umap[666013];
  public:
    void insert(int x){
        int sertar=x%666013;
        for(int i=0;i<umap[sertar].size();i++){
            if(x==umap[sertar][i]){
                return;
            }
        }
        umap[sertar].push_back(x);
    };
    void erase(int x){
        int sertar=x%666013,L=umap[sertar].size();
        for(int i=0;i<L;i++){
            if(x==umap[sertar][i]){
                umap[sertar][i]=umap[sertar][L-1];
                umap[sertar].pop_back();
                return;
            }
        }
    };
    bool search(int x){
        int sertar=x%666013;
        for(int i=0;i<umap[sertar].size();i++){
            if(x==umap[sertar][i]){
                return true;
            }
        }
        return false;
    };
};


int main(){
    int n,i,x,y;
    MyUnorderedMap v;
    fin>>n;
    for(i=1;i<=n;i++){
        fin>>x>>y;
        if(x==1){
            v.insert(y);
        }else{
            if(x==2){
                v.erase(y);
            }else{
                if(x==3){
                    int ok=v.search(y);
                    if(ok==true) fout<<1<<"\n";
                    else fout<<0<<"\n";
                }
            }
        }
    }


    return 0;
}