Cod sursa(job #1058070)

Utilizator sorinos1357FMI Siman Marius Sorin sorinos1357 Data 15 decembrie 2013 00:34:00
Problema Hashuri Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.05 kb
#include <fstream>
#include <vector>
#include <iterator>
#define mod 666013

using namespace std;

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

int cautare(vector <int> H[mod],int x){
    vector <int>::iterator it;
    int i=0,aux = 0;
    for(it=H[x%mod].begin();it != H[x%mod].end();++it){
        if(*it == x){
            aux = i;
            break;
        }
        ++i;
    }
    return aux;
}

void inserare(vector <int> H[mod],int x){
    if(cautare(H,x) == 0)
        H[x%mod].push_back(x);
}

void stergere(vector <int> H[mod],int x){
    int poz = cautare(H,x);
    if(poz != 0){
        H[x%mod][poz] = H[x%mod].back();
        H[x%mod].pop_back();
    }
}

int main(){
    int n,op,el;
    vector <int> H[mod];
    f>>n;
    for(int i=0;i<n;++i){
        f>>op>>el;
        if(op == 1)
            inserare(H,el);
        else if(op == 2)
            stergere(H,el);
        else if(cautare(H,el) != 0)
                g<<1;
        else g<<0;
    }
    f.close();
    g.close();
    return 0;
}