Pagini recente » Cod sursa (job #2516240) | Cod sursa (job #311737) | Cod sursa (job #528286) | Cod sursa (job #1641966) | Cod sursa (job #1003308)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("cautbin.in");
//ofstream g("cautbin.in");
int n,op,x,a[100000];
int cb1(int st, int dr, int x)
{
int mij = (st+dr)/2;
if(dr-st<2)
{
return -1;
}
if(a[mij]==x)
{
int i=mij;
while(a[i]==x)
{
i++;
}
return i-1;
}
else
{
if(x<a[mij])
{
return cb1(st, mij, x);
}
else
{
return cb1(mij,dr,x);
}
}
}
int main()
{
f>>n;
for(int i=0;i<n;i++)
{
f>>a[i];
}
int m;
f>>m;
for(int i=0;i<m;i++)
{
f>>op;
f>>x;
switch(op)
{
case 0:
cout<<cb1(0,n,x)+1;
break;
case 1:
cout<<cb2(0,n,x)+1;
break;
case 2:
break;
}
}
return 0;
}