Cod sursa(job #1922142)

Utilizator nicu_serteSerte Nicu nicu_serte Data 10 martie 2017 16:11:10
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.94 kb
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
#define mod 50003
int n;
vector <int> g[mod];
vector <int> :: iterator findValue(int x)
{
    int id=x%mod;
    vector <int> :: iterator it;
    for(it=g[id].begin(); it!=g[id].end(); it++)
        if(*it==x)
            return it;
    return g[id].end();
}
void eraseValue(int x)
{
    vector <int> :: iterator it=findValue(x);
    int id=x%mod;
    if(it!=g[id].end())
        g[id].erase(it);
}
void insertValue(int x)
{
    int id=x%mod;
    if(findValue(x)==g[id].end())
        g[id].push_back(x);
}
int main()
{
    int i, op, x;
    fin>>n;
    for(i=1; i<=n; i++)
    {
        fin>>op>>x;
        if(op==1)
            insertValue(x);
        else if(op==2)
            eraseValue(x);
        else if(op==3)
            fout<<(findValue(x)!=g[x%mod].end())<<'\n';
    }
    return 0;
}