Pagini recente » Cod sursa (job #559290) | Cod sursa (job #1312782) | Cod sursa (job #1344510) | Cod sursa (job #2500411) | Cod sursa (job #2427811)
#include <bits/stdc++.h>
using namespace std;
ifstream in("cautbin.in");
ofstream out("cautbin.out");
int main()
{
int n,v[100000],i,cf,m,x,s=1,d,ok=0,nr;
in>>n;
d=n;
for(i=1;i<=n;i++)
in>>v[i];
in>>nr;
for(i=1;i<=nr;i++)
{
in>>cf;
if(cf==0)
{
in>>x;s=1;d=n;
while(s<d)
{
m=(s+d)/2;
if(v[m]<=x)
{
ok=1;
s=m+1;
}
else
d=m-1;
}
if(ok==0)
out<<-1<<'\n';
else
out<<m<<'\n';
}
if(cf==1)
{
in>>x;s=1;d=n;
while(s<d)
{
m=(s+d)/2;
if(v[m]<=x)
s=m+1;
else
d=m-1;
}
out<<m<<'\n';
}
if(cf==2)
{
in>>x;s=1;d=n;
while(s<=d)
{
m=(s+d)/2;
if(v[m]<x)
s=m+1;
else
d=m-1;
}
out<<m<<'\n';
}
}
return 0;
}