Cod sursa(job #3169993)

Utilizator Cyrex.1948Dumitrica Cezar Stefan Cyrex.1948 Data 16 noiembrie 2023 16:03:11
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1 kb
#include <fstream>
#include <algorithm>
#include <vector>

using namespace std;

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

const int N = 1e6;
const int MOD = 666013;
const int base = 31;
vector<int> H[MOD + 5];

int HashFunc(int num){
    int res = 0;
    while(num){
        res = (res * base + num % 10) % MOD;
        num /= 10;
    }
    return res;
}


int main(){
    int test;
    cin >> test;
    for(int i = 0; i < test; i++){
        int operation, number;
        cin >> operation >> number;
        auto it = find(H[HashFunc(number)].begin(), H[HashFunc(number)].end(), number);
        if(operation == 1)
            H[HashFunc(number)].push_back(number);
        else if(operation == 2) {
            if (it != H[HashFunc(number)].end())
                H[HashFunc(number)].erase(it);
        }
        else{
            if(it != H[HashFunc(number)].end())
                cout << '1' << '\n';
            else
                cout << '0' << '\n';
        }
    }
    return 0;
}

///niggers