Cod sursa(job #3242792)

Utilizator dgabiDolteanu Gabriel dgabi Data 14 septembrie 2024 07:37:18
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.12 kb
#include <bits/stdc++.h>
using namespace std;

const int N = 123456;
vector<int> v[N];

int h(int x) {
    return x % N;
}

void add(int x) {
    int k = h(x);
    for(int i = 0; i < v[k].size(); i++) {
        if(v[k][i] == x) {
            return;
        }
    }
    v[k].push_back(x);
}

void del(int x) {
    int k = h(x);
    for(int i = 0; i < v[k].size(); i++) {
        if(v[k][i] == x) {
            for(int j = i; j < v[k].size() - 1; j++) {
                v[k][j] = v[k][j+1];
            }
            v[k].pop_back();
            return;
        }
    }
}

bool get(int x) {
    int k = h(x);
    for(int i = 0; i < v[k].size(); i++) {
        if(v[k][i] == x) {
            return true;
        }
    }
    return false;
}

int main() {
    ifstream cin("hashuri.in");
    ofstream cout("hashuri.out");

    int n, k, x;
    cin >> n;

    for(int i = 0; i < n; i++) {
        cin >> k >> x;
        if(k == 1) {
            add(x);
        }
        if(k == 2) {
            del(x);
        }
        if(k == 3) {
            cout << get(x) << '\n';
        }
    }
}