Cod sursa(job #854585)

Utilizator ShaDoWsiD100Rzv Rzv ShaDoWsiD100 Data 13 ianuarie 2013 19:21:45
Problema Cautare binara Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.05 kb
#include <fstream>
using namespace std;
ifstream f("cautbin.in");
ofstream g("cautbin.out");
int n,m,i,v[100001],z,p,u,q,x,k;
int main(){
    f>>n;
    for(i=1;i<=n;i++)
        f>>v[i];
     f>>k;
     for(i=1;i<=k;i++){
         f>>z>>x;
         p=1;
         u=n;q=0;
         if(z==0 || z==1){
             while(p<=u){
                 m=(p+u)/2;
                 if(x>=v[m]){
                    q=m;
                    p=m+1;
                    }
                 else
                 u=m-1;
             }
           if(z==0){
              if(v[q]!=x||q==0)
                 g<<-1<<'\n';
              else
                 g<<q<<'\n';
           }
          else

                g<<q<<'\n';

         }
       else{

       while(p<=u){
                 m=(p+u)/2;
                 if(x<=v[m]){
                    q=m;
                    u=m-1;
                    }
                 else
                 p=m+1;
             }
       g<<q<<'\n';

       }



         }

    return 0;





}