Cod sursa(job #2525311)

Utilizator victorzarzuZarzu Victor victorzarzu Data 17 ianuarie 2020 08:42:54
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.07 kb
#include <bits/stdc++.h>
#define mod 666013
using namespace std;
int n;
ifstream f("hashuri.in");
ofstream h("hashuri.out");
vector<int> g[mod];

vector<int>::iterator find_place(int x)
{
    int place = x % mod;
    for(vector<int>::iterator it=g[place].begin();it!=g[place].end();++it)
        if(*it == x)
            return it;
    return g[place].end();
}

void add(int x)
{
    int place = x % mod;
    if(find_place(x) == g[place].end())
        g[place].push_back(x);
}

void erase_element(int x)
{
    int place = x % mod;
    vector<int>::iterator it = find_place(x);
    if(it != g[place].end())
        g[place].erase(it);
}

void Read()
{
    int op,x;
    f>>n;
    for(int i=1;i<=n;++i)
    {
        f>>op>>x;
        if(op == 1)
        {
            add(x);
            continue;
        }
        else if(op == 2)
        {
            erase_element(x);
            continue;
        }
        h<<(find_place(x) != g[x % mod].end())<<'\n';
    }
    f.close();
    h.close();
}
int main()
{
    Read();
    return 0;
}