Pagini recente » Cod sursa (job #479665) | Cod sursa (job #2381893) | Cod sursa (job #1075001) | Cod sursa (job #2735623) | Cod sursa (job #694672)
Cod sursa(job #694672)
#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;
}