Cod sursa(job #2307284)

Utilizator filicriFilip Crisan filicri Data 24 decembrie 2018 10:56:46
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.87 kb
#include <fstream>
#include <vector>
#define mod 666013
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
int n,op,x;
vector <int> H[mod];
vector <int>::iterator findv (int x)
{
    int rest=x%mod;
    vector <int>::iterator it;
    for (it=H[rest].begin();it!=H[rest].end();it++)
        if (*it==x) return it;
    return H[rest].end();
}
void insertv (int x)
{
    int rest=x%mod;
    if (findv(x)==H[rest].end()) H[rest].push_back(x);
}
void deletev (int x)
{
    int rest=x%mod;
    vector <int>::iterator it=findv(x);
    if (it!=H[rest].end()) H[rest].erase(it);
}
int main()
{
    f>>n;
    for (int i=1;i<=n;i++)
    {
        f>>op>>x;
        if (op==1) insertv(x);
        else if (op==2) deletev(x);
        else if (op==3) g<<(findv(x)!=H[x%mod].end())<<'\n';
    }
    f.close();
    g.close();
    return 0;
}