Cod sursa(job #2352692)

Utilizator fremenFremen fremen Data 23 februarie 2019 16:43:01
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.11 kb
#include <fstream>
#include <cstring>
#include <algorithm>
#include <vector>
using namespace std;

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

const int MOD = 666013;
int n;
vector<int> v[MOD];

int find(int k) {
    int mod = k % MOD;
    for (int i = 0; i < v[mod].size(); ++i) {
        if (v[mod][i] == k) {
            return i;
        }
    }
    return -1;
}

int main() {

    fin >> n;
    for (int i = 1; i <= n; ++i) {
        int a, b;
        fin >> a >> b;
        int mod = b % MOD;
        if (a == 1) {
            if (find(b) == -1) {
                v[mod].push_back(b);
            }
        }
        else if (a == 2) {
            int c = find(b);
            if (c > -1) {
                v[mod][c] = v[mod][v[mod].size() - 1];
                v[mod].pop_back();
            }
        }
        else {
            int c = find(b);
            if (c == -1) {
                fout << '0';
            }
            else {
                fout << '1';
            }
            fout << '\n';
        }
    }

    fout.close();
    return 0;
}