Cod sursa(job #2333843)

Utilizator Anastasia11Susciuc Anastasia Anastasia11 Data 1 februarie 2019 23:46:58
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.94 kb
#include <iostream>
#include <fstream>
#include <vector>
#define MOD 666013

using namespace std;

int n, op, x;
vector <int> v[MOD];

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

vector<int>::iterator findValue(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();
}

void insert(int x)
{
    int list=x%MOD;
    if(findValue(x)==v[list].end())
        v[list].push_back(x);
}

void erase(int x)
{
    int list=x%MOD;
    vector<int>::iterator it=findValue(x);

    if(it!=v[list].end())
        v[list].erase(it);
}

int main()
{
    f >> n;
    while(n--)
    {
        f >> op >> x;
        if(op == 1)
            insert(x);
        else if(op == 2)
            erase(x);
        else
            g << (findValue(x) != v[x%MOD].end()) << '\n';
    }
    return 0;
}