Cod sursa(job #1312210)

Utilizator alinmocanu95FMI Alin Mocanu alinmocanu95 Data 8 ianuarie 2015 23:36:39
Problema Hashuri Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 1 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");
    f>>n;
    for(op=1;op<=n;op++)
    {
        f>>op>>nr;
        if(op==1)
        {
            adauga(nr);
        }
        if(op==2)
        {
           sterge(nr);
        }
        if(op==3)
        {
            g<< (cauta(nr) != a[nr%nnn].end())<<endl;
        }
    }
    f.close();
    g.close();
    return 0;
}