Cod sursa(job #1312229)

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

inline vector<int>::iterator cauta(int nr)
{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)
{k=nr%nnn;
    if(cauta(nr) == a[k].end())
        a[k].push_back(nr);
}
inline void sterge(int nr)
{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())<<"\n";
    }
    f.close();
    g.close();
    return 0;
}