Cod sursa(job #2895624)

Utilizator alexdn6Dina Alexandru alexdn6 Data 29 aprilie 2022 11:59:38
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.37 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f ("hashuri.in");
ofstream g ("hashuri.out");
long long n, val;
vector<long long> v[319133];
int op;
long long verifica(long long indice, long long valoare) {
    if(v[indice].size() == 0) return -1;
    for(long long i = 0; i < v[indice].size(); i++)
        if (v[indice][i] == valoare)
            return i;
    return -1;

}
int main()
{
    long long prim = 319133;
    f >> n;
    long long i;
    for(i = 0; i < n; i++)
    {
        f >> op;
        if(op == 1) {
            f >> val;
            if(verifica((val % prim), val) == -1)
                v[val % prim].push_back(val);
        }
        if(op == 2) {
            f >> val;
            if(verifica(val % prim, val) != -1) {
              //  for(long long j = 0; j < v[prim % val].size(); j++)
                //    if(v[prim % val][j] == val)
                  //      cout << "L-am gasit pe fraier " << val << " "<< (prim%val) << " " << j << '\n' ;
                long poz = verifica(val % prim, val);
                v[val % prim].erase(v[val % prim].begin() + poz);
            }
        }
        if(op == 3) {
            f >> val;
            if(verifica(val % prim, val) == -1)
                g << 0 << '\n';
            else
                g << 1 << '\n';
    }
    }
    return 0;
}