Cod sursa(job #2364460)

Utilizator GhSamuelGherasim Teodor-Samuel GhSamuel Data 4 martie 2019 08:51:00
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1 kb
#include <bits/stdc++.h>
#define Nmax 1000005
#define MOD 666013
using namespace std;

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

vector <int> G[Nmax];

int n;

vector <int> ::iterator find(int x)
{
    int pos = x % MOD;
    vector <int> :: iterator it;
    for (it = G[pos].begin(); it != G[pos].end(); ++it)
        if (*it == x)
            return it;
    return G[pos].end();
}

void insert(int x)
{
    int pos = x % MOD;
    if (find(x) == G[pos].end())
        G[pos].push_back(x);
}

void del(int x)
{
    int pos = x % MOD;
    vector <int> :: iterator it;
    it = find(x);
    if (it != G[pos].end())
        G[pos].erase(it);
}

void read()
{
    f >> n;
    int c, val;
    for (int i = 1; i <= n; ++i) {
        f >> c >> val;
        if (c == 1)
            insert(val);
        if (c == 2)
            del(val);
        if (c == 3)
            g << (find(val) != G[val % MOD].end()) << "\n";
    }
}
int main()
{
    read();
    return 0;
}