Cod sursa(job #1278896)

Utilizator radu_cosmaRadu Cosma radu_cosma Data 29 noiembrie 2014 15:08:05
Problema Cautare binara Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.29 kb
#include <fstream>
using namespace std;
ifstream in("cautbin.in");
ofstream out("cautbin.out");
int main()
{
    int n,v[1000],p,x,m,i,st,dr,mij,val;
    in>>n;
    for(i=1;i<=n;i++)
        in>>v[i];
    in>>p;
    for(i=1;i<=p;i++)
        {
            in>>m>>x;
            if(m==0)
            {
                st=0;
                dr=n+1;
                while(dr-st>1)
                {
                     mij=(st+dr)/2;
                     if(v[mij]<=val)
                        st=mij;
                     else dr=mij;
                }
    out<<st-1<<"\n";
}
            if(m==1)
            {
                st=0;
                dr=n+1;
                while(dr-st>1)
                {
                     mij=(st+dr)/2;
                     if(v[mij]>=val)
                        dr=mij;
                     else st=mij;
                }
            out<<st-1<<"\n";}
            if(m==2)
            {
                st=0;
                dr=n+1;
                while(dr-st>1)
                {
                     mij=(st+dr)/2;
                     if(v[mij]<=val)
                        st=mij;
                     else dr=mij;
                }
                out<<dr-4<<"\n";
            }


        }
        return 0;
}