Cod sursa(job #1196827)

Utilizator RaduGabriel2012Dinu Radu RaduGabriel2012 Data 9 iunie 2014 12:48:40
Problema Cautare binara Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
 ifstream f("cautbin.in");
 ofstream g("cautbin.out");
  int n,m,v[100005];

int main ()
{ int i,t,val,x;
   f>>n;

   for(i=1;i<=n;i++)
    f>>v[i];

   f>>m;

   for(i=1;i<=m;i++)
   { f>>t>>val;

      if (!t)
       { x=upper_bound(v+1,v+n+1,val)-v-1;
          if (v[x]==val) g<<x<<"\n"; else g<<"-1\n";
       }

      if(t==1)
       { x=lower_bound(v+1,v+n+1,val+1)-v-1;
          g<<x<<"\n";
       }

      if (t==2)
       { x=lower_bound(v+1,v+n+1,val)-v;
          g<<x<<"\n";
       }

   }

  return 0;
}