Pagini recente » Cod sursa (job #1410655) | Cod sursa (job #826450) | Cod sursa (job #2272611) | Cod sursa (job #85012) | Cod sursa (job #2876877)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("cautbin.in");
ofstream fout ("cautbin.out");
int v[100001];
int main()
{
int n, m, x, pas, j, q;
fin>> n;
for (int i=1;i<=n;i++)
fin>>v[i];
fin>>m;
for (int i=1;i<=m;i++) {
fin>>q>>x;
if (q==0) {
j=1;
pas=1<<16;
while (pas>0) {
if (j+pas<=n && v[j+pas]<=x) {
j+=pas;
}
pas/=2;
}
if (v[j]==x)
fout<<j<<endl;
else
fout<<-1<<endl;
}
else if (q==1) {
j=1;
pas=1<<16;
while (pas>0) {
if (j+pas<=n && v[j+pas]<=x) {
j+=pas;
}
pas/=2;
}
fout<<j<<endl;
}
else{
j=1;
pas=1<<16;
while (pas>0) {
if (j+pas<=n && v[j+pas]<x) {
j+=pas;
}
pas/=2;
}
fout<<j+1<<endl;
}
}
return 0;
}