Cod sursa(job #1972745)

Utilizator AndreiD31Dragan Andrei AndreiD31 Data 23 aprilie 2017 16:25:37
Problema Cautare binara Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("cautbin.in");
ofstream g("cautbin.out");
int n,i,a,b,m,poz1,v[10001];
int main()
{
   f>>n;
   for(i=1;i<=n;i++)f>>v[i];
   f>>m;
   for(i=1;i<=m;i++)
   {
       f>>a>>b;
       if(a==0)
       {
           poz1=upper_bound(v+1,v+n+1,b)-v-1;
           if(v[poz1]==b)g<<poz1<<'\n';
           else g<<-1<<'\n';
       }
       else if(a==1)
       {
           poz1=lower_bound(v+1,v+n+1,b+1)-v-1;
           g<<poz1<<'\n';
       }
       else if(a==2)
       {
           poz1=upper_bound(v+1,v+n+1,b-1)-v-1;
           g<<poz1+1<<'\n';
       }
   }
    return 0;
}