Cod sursa(job #3210018)

Utilizator MagicantPlusIuoras Andrei MagicantPlus Data 4 martie 2024 12:57:34
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.92 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#include <vector>
#include <unordered_set>

using namespace std;

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

#define cin fin
#define cout fout

struct num
{
    int val;
};
struct numHash
{
    int operator()(const num& x) const
    {
        return x.val;
    }
};

bool operator==(const num& a, const num& b)
{
    return a.val == b.val;
}
num makeNum(int val)
{
    num temp;
    temp.val = val;
    return temp;
}

int main()
{
    unordered_set<num, numHash> set_;
    int n;

    cin >> n;

    for(int i = 0, type, val; i < n; i++)
    {
        cin >> type >> val;

        if(type == 1)
        {
            set_.insert(makeNum(val));
        }
        else if(type == 2)
        {
            set_.erase(makeNum(val));
        }
        else
        {   
            cout << (set_.find(makeNum(val)) != set_.end()) << '\n';
        }
    }
    return 0;
}