Cod sursa(job #1312226)

Utilizator alinmocanu95FMI Alin Mocanu alinmocanu95 Data 8 ianuarie 2015 23:50:22
Problema Hashuri Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.9 kb
#include<iostream>
#include<fstream>
#include<vector>
using namespace std;
#define nnn 700000
int n,op,nr;
vector<int> a[nnn];

inline vector<int>::iterator cauta(int nr)
{int k=nr%nnn;
vector<int>::iterator it;
    for( it=a[k].begin(); it!=a[k].end(); it++)
        if(*it == nr)
        return it;
    return a[k].end();
}
inline void adauga(int nr)
{int k=nr%nnn;
    if(cauta(nr) == a[k].end())
        a[k].push_back(nr);
}
inline void sterge(int nr)
{int k=nr%nnn;
    vector<int>::iterator it = cauta(nr);
    if( it!=a[k].end())
        a[k].erase(it);
}


int main()
{
    ifstream f("hashuri.in");
    ofstream g("hashuri.out");
    for(f>>n;n;n--)
    {
        f>>op>>nr;
        if(op==1)
            adauga(nr);
        else {if(op==2) sterge(nr);

        else {g<< (cauta(nr) != a[nr%nnn].end())<<endl;}}

    }
    f.close();
    g.close();
    return 0;
}