Pagini recente » Cod sursa (job #1893732) | Cod sursa (job #760664) | Istoria paginii utilizator/lacatusua | Cod sursa (job #468076) | Cod sursa (job #1395725)
#include <fstream>
using namespace std;
ifstream in("cautbin.in");
ofstream out("cautbin.out");
int v[100001];
int main()
{
int N,M,i,j,a,x,pas;
in>>N;
for(i=1; i<=N; i++)
in>>v[i];
in>>M;
for(i=1; i<=M; i++)
{
in>>a>>x;
if(a==0)
{
j=0;
pas=1<<16;
while(pas!=0)
{
if(j+pas<=N&&v[j+pas]<=x)
j+=pas;
pas/=2;
}
if(v[j]==x) out<<j;
else out<<-1;
out << '\n';
}
if(a==1)
{
j=0;
pas=1<<16;
while(pas!=0)
{
if(j+pas<=N&&v[j+pas]<=x)
j+=pas;
pas/=2;
}
out<<j;
out << '\n';
}
if(a==2)
{
j=0;
pas=1<<16;
while(pas!=0)
{
if(j+pas<=N&&v[j+pas]<x)
j+=pas;
pas/=2;
}
j++;
out<<j;
out << '\n';
}
}
return 0;
}