Cod sursa(job #3317847)

Utilizator petric_mariaPetric Maria petric_maria Data 25 octombrie 2025 17:23:08
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.16 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");

const int mod = 666013;
int n, op, x;
vector <int> v[666020];

int Find(int val) {
    int rest = val % mod;
    for (int i=0; i<v[rest].size(); ++i)
        if (v[rest][i] == val)
            return i;
    return -1;
}

void Add (int val) {
    int rest = val % mod;
    int it = Find(val);
    if (it == -1)
        v[rest].push_back (val);
}

void Erase (int val) {
    int rest = val % mod;
    int it = Find(val);
    if (it != -1) {
        int sz = v[rest].size();
        for (int i=0; i<sz; ++i)
            if (v[rest][i] == val) {
                v[rest][i] = v[rest][sz-1];
                v[rest].pop_back();
            }
    }
}

int main()
{
    f >> n;
    for (int i=1; i<=n; ++i) {
        f >> op >> x;
        int rest = x % mod;

        if (op == 1) {
            Add (x);
        }
        if (op == 2) {
            Erase (x);
        }
        if (op == 3) {
            if (Find (x) == -1)
                g << 0 << '\n';
            else
                g << 1 << '\n';
        }
    }
    return 0;
}