Pagini recente » Cod sursa (job #1887444) | Cod sursa (job #1061755) | Cod sursa (job #1788620) | Cod sursa (job #2420913) | Cod sursa (job #1630132)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("cautbin.in");
ofstream fout("cautbin.out");
int n,m,logN;
int v[100001];
int main()
{
fin>>n;
for (int i=1; i<=n; ++i) fin>>v[i];
for (logN=1; logN<=n; logN<<=1);
fin>>m;
while (m--)
{
int cod,val;
fin>>cod>>val;
if (cod<2) {
int i=0;
for (int step=logN; step; step>>=1)
if (i+step<=n&&v[i+step]<=val)
i+=step;
if (v[i]!=val) fout<<"-1\n";
else fout<<i<<'\n';
}
else {
int i=n;
for (int step=logN; step; step>>=1)
if (i-step>0&&v[i-step]>=val)
i-=step;
fout<<i<<'\n';
}
}
return 0;
}