Cod sursa(job #2773748)

Utilizator GhiuzanuEdward Ghiuzan Ghiuzanu Data 8 septembrie 2021 16:00:42
Problema Hashuri Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.91 kb
#include <iostream>
#include <fstream>
#include <vector>
#define mod 666013;
using namespace std;

ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
vector<int>v[1000001];

int find(int x){
    int l = x % mod;
    int lg = v[l].size();
    for (int i = 0; i < lg; ++i) {
        if (v[l][i] == x) {
            return 1;
        }
    }
    return 0;
}

void add(int x){
    int l = x % mod;
    if(!find(x))
        v[l].push_back(x);
}

void pop(int x){
    int l = x % mod;
    int lg = v[l].size();
    for(int i = 0; i < lg; ++i) {
        if (v[l][i] == x){
            v[l][i] = v[l][lg - 1];
            v[l].pop_back();
            break;
        }
    }
}

void finder(int x){
    fout<<find(x)<<endl;
}

int main(){
    int y, x, n;
    fin >> n;
    for(int i = 1; i <= n; ++i){
        fin >> y >> x;
        if (y == 1) add(x);
        else if (y == 2) pop(x);
        else finder(x);
    }
    return 0;
}