Cod sursa(job #2835775)

Utilizator AswVwsACamburu Luca AswVwsA Data 19 ianuarie 2022 10:56:20
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.09 kb
#include <fstream>
using namespace std;

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

const int MOD = 666013, NMAX = 1000003;
int v[NMAX], r[MOD], urm[NMAX + 1];
int main()
{
    int n, m = 0;
    cin >> n;
    while (n--)
    {
        int op, x;
        cin >> op >> x;
        int rest = x % MOD, last, i;
        bool ok = 0;
        last = 0;
        for (i = r[rest]; i != 0; last = i, i = urm[i])
            if (v[i] == x)
            {
                ok = 1;
                break;
            }
        if (op == 1)
        {
            v[++m] = x;
            if (!ok)
            {
                if (!r[rest])
                {
                    r[rest] = m;
                }
                else
                    urm[last] = m;
            }
        }
        else if (op == 2)
        {
            if (ok)
            {
                if (!last)
                    r[rest] = urm[i];
                else
                    urm[last] = urm[i];
            }
        }
        else
            cout << ok << "\n";
    }
}