Cod sursa(job #2737853)

Utilizator RoberttoPopescu Paullo Robertto Karloss Robertto Data 5 aprilie 2021 11:15:06
Problema Hashuri Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.19 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
vector <long long> v[100017];

int operatie_tip_3(int y, int cheie)
{
    for(int i = 0; i < v[cheie].size(); i++)
    {
        if(v[cheie][i] == y)
            return 1;
    }
    return 0;
}

void operatie_tip_2(int y, int cheie)
{
    for(int i = 0; i < v[cheie].size(); i++)
    {
        if(v[cheie][i] == y)
        {
            v[cheie].erase(v[cheie].begin() + i);
            return;
        }
    }
}

void operatie_tip_1(int y, int cheie)
{
    int ok;
    ok = 0;
    for(int i = 0; i < v[cheie].size(); i++)
    {
        if(v[cheie][i] == y)
        {
            ok = 1;
            return;
        }
    }
    if(ok == 0)
        v[cheie].push_back(y);
}

int main()
{
    int x, y, n, cheie;
    f >> n; // numarul de operatii
    for(int i = 0; i < n; i++)
    {
        f >> x >> y; // citim tipul operatiei, si numarul
        cheie = y % 100007;
        if(x == 1)
            operatie_tip_1(y, cheie);
        else if(x == 2)
            operatie_tip_2(y, cheie);
        else if(x == 3)
            g << operatie_tip_3(y, cheie) << endl;
    }
    return 0;
}