Cod sursa(job #892018)

Utilizator dtoniucDaniel Toniuc dtoniuc Data 25 februarie 2013 21:47:53
Problema Hashuri Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1 kb
#include <iostream>
#include <fstream>
#include <vector>
#define NMAX 666013
using namespace std;

int n;
vector<int> G[NMAX];

inline vector<int>::iterator findt(int val)
{
    int list=val%NMAX;
    vector<int>::iterator it;
    for(it=G[list].begin();it!=G[list].end();it++)
        if(*it==val)
            return it;
    return G[list].end();
}
void insert(int val)
{
    int list = val % NMAX;
    if(findt(val)==G[list].end());
        G[list].push_back(val);
}
void erase(int val)
{
    int list = val % NMAX;
    vector<int>::iterator it=findt(val);

    if(it!=G[list].end());
        G[list].erase(it);
}
int main()
{
    ifstream fin("hashuri.in");
    ofstream fout("hashuri.out");
    fin>>n;
    int x,y;
    for(int i=1;i<=n;i++)
    {
        fin>>x>>y;
        if(x==1)
        {
            insert(y);
        }
        else if(x==2)
        {
            erase(y);
        }
        else fout<< (findt(y)!=G[y%NMAX].end());
    }
    return 0;
}