Cod sursa(job #2889113)

Utilizator RobertuRobert Udrea Robertu Data 12 aprilie 2022 11:52:28
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.97 kb
#include <fstream>
#include <vector>
using namespace std;

const int prim = 60493;

ifstream fin("hashuri.in");
ofstream fout("hashuri.out");

vector<int> v[prim + 2];

void erase(int poz, int nr) {
    for(int k = poz; k < v[nr % prim].size() - 1; k++) {
        v[nr%prim][k] = v[nr%prim][k + 1];
    }

    v[nr%prim].pop_back();
}

int main() {
    int n, op, x;
    bool ok;
    fin >> n;

    for(int i = 0; i < n; i++) {
        fin >> op >> x;

        if( op == 1 ) {
            v[ x % prim ].push_back( x );
        }else if( op == 2 ) {
            for(int j = 0; j < v[ x % prim ].size(); j++) {
                if( v[x%prim][j] == x ) 
                    // fout << *j << '\n';
                    erase(j, x);
            }
        } else {
            ok = false;
            for(int j = 0; j < v[x%prim].size() && !ok; j++)
                if( v[x%prim][j] == x ) ok = true;

            if( ok ) fout << "1\n";
            else fout << "0\n";
        }
    }

    return 0;
}