Cod sursa(job #1834170)

Utilizator dutzulBodnariuc Dan Alexandru dutzul Data 24 decembrie 2016 00:34:48
Problema Cautare binara Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <bits/stdc++.h>
using namespace std;

int search(int val,vector<int>& array){
  int pos=0;
  for(int i=0;i<array.size();++i){
    if (array[i]<=val){
      pos=i+1;
    }
  }
  return pos;
}

int main(){
  int n;
  ifstream f("cautbin.in");
  ofstream g("cautbin.out");
  f>>n;
  vector<int> array;
  for(int i=0;i<n;++i){
      int val;
      f>>val;
      array.push_back(val);
  }

  int m;
  f>>m;
  for(int i=1;i<=m;++i){
    int type,val;
    f>>type>>val;
    if (type==0){
       int pos=search(val,array);
       if (array[pos-1]!=val){
          g<<-1<<'\n';
       } else {
          g<<pos<<'\n';
       }
    }
    if (type==1){
       g<<search(val,array)<<'\n';
    }
    
    if (type==2){
       g<<search(val-1,array)+1<<'\n';
    }
  }

 return 0; 
}