Pagini recente » Cod sursa (job #1259622) | Cod sursa (job #2671883) | Cod sursa (job #1157147) | Cod sursa (job #1527078) | Cod sursa (job #1180939)
#include<fstream>
using namespace std;
ifstream fin("cautbin.in");
ofstream fout("cautbin.out");
int n,a[100005],m;
int main()
{
int i,j,x,y,step;
fin>>n;
for (i=1;i<=n;i++)
fin>>a[i];
for (step=1;step<=n;step<<=1);
fin>>m;
while (m--)
{
fin>>x>>y;
if (x<2)
{
for (j=step,i=0;j;j>>=1)
if (i+j<=n && a[i+j]<=y)
i+=j;
if (!x && a[i]!=y)
fout<<"-1\n";
else fout<<i<<"\n";
continue;
}
for (j=step,i=n;j;j>>=1)
if (i-j>=1 && a[i-j]>=y)
i-=j;
fout<<i<<"\n";
}
return 0;
}