Cod sursa(job #3216450)

Utilizator Info_MasterAugustin-Ionut Info_Master Data 17 martie 2024 10:35:18
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.15 kb
#include <iostream>
#include <vector>
#include <fstream>
#define MOD 666013

using namespace std;

ifstream in("hashuri.in");
ofstream out("hashuri.out");
vector <long long> mult[MOD];

int gaseste(long long x)
{
    long long ind = x % MOD;
    for(int i = 0 ; i < mult[ind].size() ; i++)
    {
        if(mult[ind][i] == x)
        {
            return i;
        }
    }
    return -1;
}

void adauga(long long x)
{
    long long ind = x % MOD;
    if(gaseste(x) == -1)
    {
        mult[ind].push_back(x);
    }

}

void sterge(long long x)
{
    long long ind = x % MOD;
    long long val = gaseste(x);
    //cout << val << "\n\n";
    if(val != -1)
    {
        mult[ind].erase(mult[ind].begin() + val);
    }
}


int main()
{
    int n;
    in >> n;
    for(int i = 0 ; i < n ; i++)
    {
        int op;
        long long x;
        in >> op >> x;
        if(op == 1)
        {
            adauga(x);
        }
        if(op == 2)
        {
            sterge(x);
        }
        if(op == 3)
        {
            out << (gaseste(x) != -1 ? 1 : 0) << "\n";
        }
    }


    return 0;
}