Cod sursa(job #694672)

Utilizator contt_de_tiesteguess who contt_de_tieste Data 27 februarie 2012 22:38:46
Problema Cautare binara Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include<fstream>
using namespace std;
ifstream in("cautbin.in");
ofstream out("cautbin.out");
int a[100], n,m,i,v,b;

int c(int nr)
{int s=1,f=n,mij,rez=-1;
while(s<=f)
{mij=(s+f)/2;
if(a[mij]==nr){rez=mij; s=mij+1;}
if(a[mij]>nr) f=mij-1;
if(a[mij]<nr) s=mij+1;} 
return rez; }

int c2 (int nr)
{int s=1,f=n,mij,rez;
while(s<=f)
{mij=(s+f)/2;
if(a[mij]<=nr){rez=mij; s=mij+1;}
else f=mij-1;}
return rez;}

int c3(int nr)
{int s=1,f=n,mij,rez;
while(s<=f)
{mij=(s+f)/2;
if(a[mij]>=nr){rez=mij; f=mij-1;}
else i=mij+1;}
return rez;}

int main()
{
    in>>n;
for(i=1;i<=n;i++)in>>a[i];
for(i=1;i<=m;i++)
{ 
in>>v>>b;
if(v==0)out<<c(b);
if(v==1)out<<c2(b);
if(v==2)out<<c3(b);
}
 return 0;   
 }