Cod sursa(job #2815510)

Utilizator foodinatorfoodinator foodinator Data 9 decembrie 2021 19:10:28
Problema Hashuri Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.09 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
int n,op,x,y,i;
#define MOD 666012
vector <int > G[MOD];
ifstream in("hashuri.in");
ofstream out("hashuri.out");
inline vector<int>::iterator find_value(int x)
{
    int l=x%MOD;
    vector<int>::iterator it;
    for (it=G[l].begin();it!=G[l].end();it++)
        if (*it==x)
    {
        return it;
    }
    return G[l].end();
}
void insert_value(int x)
{
    int l=x%MOD;
    if (find_value(x)==G[l].end())
       G[l].push_back(x);
}
void erase_value(int x)
{
    int l = x % MOD;
    vector<int>::iterator it = find_value(x);

    if (it != G[l].end())
        G[l].erase(it);
}
int main()
{
    in>>n;
    for (i=1;i<=n;i++)
    {
        in>>op;
        if (op==1)
        {
            in>>x;
            insert_value(x);
        }
        else if (op==2)
        {
            in>>x;
            erase_value(x);
        }
        else
        {
            in>>x;
            if (find_value(x)!=G[x%MOD].end()) out<<1<<endl;
            else out<<0<<endl;
        }
    }
}