Pagini recente » Cod sursa (job #2536986) | Cod sursa (job #1833266) | Cod sursa (job #3248619) | Cod sursa (job #3235431) | Cod sursa (job #1338750)
#include<fstream>
using namespace std;
ifstream f("cautbin.in");
ofstream g("cautbin.out");
int bs(int start,int end,int x,short v[100])
{
int mid;
if(start>end)
return -1;
mid=(start+end)/2;
if(v[mid]==x)
return mid;
if(mid>x)
return bs(start,mid-1,x,v);
if(mid<x)
return bs(mid+1,end,x,v);
}
int main()
{
int n,i,x,k,p;
short v[100];
int m;
f>>n;
for(i=1;i<=n;i++)
f>>v[i];
f>>m;
for(i=1;i<=m;i++)
{ f>>p>>x;
if(p==0)
{ k=bs(1,n,x,v);
while(v[k]==x)
k++;
k--;
g<<k<<'\n';
}
else
if(p==1)
{
k=bs(1,n,x,v);
while(v[k]<=x)
k++;
k--;
g<<k<<'\n';
}
else
if(p==2)
{
k=bs(1,n,x,v);
while(v[k]>=x)
k--;
g<<k<<'\n';
}
}
f.close();
g.close();
return 0;
}