Cod sursa(job #1059773)

Utilizator buzu.tudor67Tudor Buzu buzu.tudor67 Data 16 decembrie 2013 22:26:03
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.05 kb
#include<fstream>
#include<vector>
#define ro 666013
using namespace std;
ifstream fi("hashuri.in");
ofstream fo("hashuri.out");

vector <int> h[ro];
int i,oper,n,x;

int cautare(int x){
    int zona=x%ro,d=h[zona].size(),i;
    
    for(i=0;i<d;i++) if(h[zona][i]==x) return i;
    return (-1);
}

void inserare(int x){
     int zona=x%ro;
     int k=cautare(x);
     
     if(k==-1) h[zona].push_back(x);
}

void stergere(int x){
     int zona=x%ro;
     int k=cautare(x);
     
     if(k!=-1){
               h[zona][k]=h[zona].back();
               h[zona].pop_back();
              }
}

int main(){
    fi>>n;
    
    for(i=1;i<=n;i++){
                      fi>>oper>>x;
                      if(oper==1) inserare(x);
                      else if(oper==2) stergere(x);
                      else{
                           if(cautare(x)!=-1) fo<<"1\n";
                           else fo<<"0\n";
                          }
                     }
                     
    fi.close();
    fo.close();
    return 0;
}