Cod sursa(job #3138017)

Utilizator IeremiaNicolaescu Ieremia Ieremia Data 17 iunie 2023 09:18:16
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.18 kb
#include <iostream>
#include <fstream>
#include <bits/stdc++.h>
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
#define mod 666013
int n;
vector <int>v[mod];

inline vector <int>::iterator find_value(int x)
{
    int list=x%mod;
    vector <int>::iterator it;
    for(it=v[list].begin(); it<v[list].end(); ++it)
    {
        if(*it==x)
        {
            return it;
        }
    }
    return v[list].end();
}
inline void insert_value(int x)
{
    int list=x%mod;
    if(find_value(x)==v[list].end())
        v[list].push_back(x);
}
inline void delete_value(int x)
{
    int list=x%mod;
    vector<int>::iterator it = find_value(x);
    if(it!=v[list].end())
    {
        v[list].erase(it);
    }
}
int op,x,i;
int main()
{
    fin>>n;
    for(i=1; i<=n; i++)
    {
        fin>>op>>x;
        if(op==1)
        {
            insert_value(x);
        }
        else if(op==2)
        {
            delete_value(x);
        }
        else
        {
            if(find_value(x)!=v[x%mod].end())
                fout<<1<<"\n";
            else
                fout<<0<<"\n";

        }
    }
    return 0;
}