Cod sursa(job #608657)

Utilizator tzipleatudTudor Tiplea tzipleatud Data 17 august 2011 16:37:59
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.94 kb
#include <fstream>
#include <vector>

using namespace std;

ifstream f("hashuri.in");
ofstream g("hashuri.out");

int n,o,x,m=666013;
vector<int> H[666013];

vector<int>::iterator gaseste(int x) {
    vector<int>::iterator it;
    int lista=x%m;
    for (it=H[lista].begin();it!=H[lista].end();it++)
        if (*it==x) return it;
    return H[lista].end();
}
void insereaza(int x) {
    int lista=x%m;
    if (gaseste(x)==H[lista].end()) H[lista].push_back(x);
}
void sterge(int x) {
    int lista=x%m;
    vector<int>::iterator it=gaseste(x);
    if(it!=H[lista].end()) H[lista].erase(it);
}

int main() {
    f >> n;
    for (int i=1;i<=n;i++) {
        f >> o >> x;
        if (o==1) insereaza(x);
        if (o==2) sterge(x);
        if (o==3) {
            if (gaseste(x)!=H[x%m].end()) g << 1 << '\n';
                                     else g << 0 << '\n';
        }
    }
    f.close();g.close();
    return 0;
}