Cod sursa(job #2434367)

Utilizator GabyD002Dobrita Gabriel GabyD002 Data 1 iulie 2019 17:02:10
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.04 kb
#include <bits/stdc++.h>
#define mod 666013
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");

vector <int> v[mod+5];

void Read();
void insertElem(int);
void eraseElem(int);
vector<int> :: iterator findElem(int);

int main()
{   Read();
    return 0;
}

void Read()
{   int n;
    f>>n;
    while(n--)
    {   int op,x;
        f>>op>>x;
        if(op==3)
        {   int poz=x%mod;
            vector <int> :: iterator it=findElem(x);
            g<<(it==v[poz].end() ? 0 : 1)<<'\n';
        }
        else (op==1 ? insertElem(x) : eraseElem(x));
    }
}

void insertElem(int x)
{   int poz=x%mod;
    if(findElem(x)==v[poz].end())
        v[poz].push_back(x);
}

void eraseElem(int x)
{   int poz=x%mod;
    vector <int> :: iterator it=findElem(x);
    if(it!=v[poz].end()) v[poz].erase(it);
}

vector <int> :: iterator findElem(int x)
{   int poz=x%mod;
    for(vector <int> :: iterator it=v[poz].begin(); it!=v[poz].end(); it++)
        if(*it==x) return it;
    return v[poz].end();
}