Cod sursa(job #2623179)

Utilizator ValentinBaluIonut Valentin Balu ValentinBalu Data 2 iunie 2020 18:26:48
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.24 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#include<bits/stdc++.h>
#include<vector>
using namespace std;
#define nr 667157
ifstream in("hashuri.in");
ofstream out("hashuri.out");
long n;
int op,x;

vector<int> hashul[nr];
inline vector<int>::iterator cautare(int x,int val)
{
    vector<int>::iterator i;
    for(i=hashul[val].begin(); i!=hashul[val].end(); ++i)
        if(*i==x)
            return i;
    return hashul[val].end();
}
inline void inserare(int x,int val)
{
    if(cautare(x,val)==hashul[val].end())
        hashul[val].push_back(x);
}
inline void stergere(int x,int val)
{
    vector<int>::iterator i=cautare(x,val);
    if(i!=hashul[val].end())
        hashul[val].erase(i);
}
int main()
{
    in>>n;
    int l=0;
    while(n)
    {
        in>>op>>x;
        int val=x%nr;
        if(op==1)
            inserare(x,val);
        if(op==2)
            stergere(x,val);
        if(op==3)
        {
            bool ok=1;
            if(cautare(x,val)!=hashul[val].end())
            {
                out<<1<<'\n';
                ok=0;
            }
            if(ok==1)
            {
                out<<0<<'\n';
            }
        }
        n--;
    }
    return 0;
}