Cod sursa(job #2633920)

Utilizator PatrascuAdrian1Patrascu Adrian Octavian PatrascuAdrian1 Data 9 iulie 2020 11:03:38
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.94 kb
#include <bits/stdc++.h>

using namespace std;

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

const int MOD = 1e6 + 33;
int T, p, x;
vector<int> G[MOD];
vector<int>::iterator i;

vector<int>::iterator cauta(int x)
{
    int val = x % MOD;

    for(i = G[val].begin(); i != G[val].end(); ++i)
        if(*i == x)
            return i;

    return G[val].end();
}

void insereaza(int x)
{
    int val = x % MOD;

    for(int i : G[val])
        if(i == x)
            return;

    G[val].push_back(x);
}

void sterge(int x)
{
    int val = x % MOD;
    auto i = cauta(x);

    if(i != G[val].end())
        G[val].erase(i);
}

int main()
{
    in >> T;

    while(T--)
    {
        in >> p >> x;

        if(p == 1)
            insereaza(x);
        else if(p == 2)
            sterge(x);
        else
            out << (cauta(x) == G[x % MOD].end() ? 0 : 1) << '\n';

    }
    return 0;
}