Cod sursa(job #2894495)

Utilizator T_george_TGeorge Teodorescu T_george_T Data 27 aprilie 2022 21:33:56
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.96 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;

ifstream in("hashuri.in");
ofstream out("hashuri.out");

vector<int> v[1000000];

const int MOD=666013;

vector<int>::iterator find(int val){
    int h=val%MOD;
    for(vector<int>::iterator it=v[h].begin();it!=v[h].end();++it)
        if(*it==val)
            return it;
    return v[h].end();
}

void insert(int val){
    int h=val%MOD;
    if(find(val)!=v[h].end())
        return;
    v[h].push_back(val);
}


void erase(int val){
    int h=val%MOD;
    if(find(val)==v[h].end())
        return;
    v[h].erase(find(val));
}

int main()
{
    int n,tip,x;
    in>>n;
    for(int i=0;i<n;i++){
        in>>tip>>x;
        if(tip==1){
            insert(x);
        }
        else if(tip==2){
            erase(x);
        }
        else{
            if(find(x)!=v[x%MOD].end())
                out<<1;
            else
                out<<0;
            out<<'\n';
        }
    }
    return 0;
}