Pagini recente » Cod sursa (job #860796) | Cod sursa (job #628787) | Cod sursa (job #2189383) | Cod sursa (job #44526) | Cod sursa (job #2565473)
#include <fstream>
using namespace std;
ifstream fin("cautbin.in");
ofstream fout("cautbin.out");
long long n,a[100004],m,t,x;
long long cautbin0(long long x)
{
long long p=1,u=n,mid,poz;
while(p<=u)
{
mid=(p+u)/2;
if(a[mid]<=x)
p=mid+1;
else
u=mid-1;
}
if(a[u]==x)
return u;
return -1;
}
long long cautbin1(long long x)
{
long long p=1,u=n,mid,poz;
while(p<=u)
{
mid=(p+u)/2;
if(a[mid]<=x)
p=mid+1;
else
u=mid-1;
}
return u;
}
long long cautbin2(long long x)
{
long long p=1,u=n,mid,poz;
while(p<=u)
{
mid=(p+u)/2;
if(a[mid]<x)
p=mid+1;
else
u=mid-1;
}
return p;
}
int main()
{
fin>>n;
for(long long i=1;i<=n;i++)
fin>>a[i];
fin>>m;
for(long long i=1;i<=m;i++)
{
fin>>t>>x;
if(t==0)
fout<<cautbin0(x)<<"\n";
if(t==1)
fout<<cautbin1(x)<<"\n";
if(t==2)
fout<<cautbin2(x)<<"\n";
}
return 0;
}