Pagini recente » Cod sursa (job #2058897) | Cod sursa (job #2674144) | Istoria paginii utilizator/cineva1237 | Cod sursa (job #233558) | Cod sursa (job #1424779)
#include <iostream>
#include <fstream>
using namespace std;
int v[100001];
int main()
{
ifstream fin ("cautbin.in");
ofstream fout ("cautbin.out");
int i,m,n,nr,ask,pas,x,k;
fin>>n;
for(i=1;i<=n;i++)
fin>>v[i];
fin>>m;
i=0;
for(k=1;k<=m;k++)
{
fin>>ask>>x;
//cout<<ask<<" ";
i=0;
pas=1<<16;
if(ask==0)
{
while(pas!=0)
{
if(i+pas<=n && v[i+pas]<=x)
i+=pas;
pas/=2;
}
if(v[i]!=x)
fout<<"-1";
else
fout<<i<<endl;
}
if(ask==1)
{
while(pas!=0)
{
if(i+pas<=n && v[i+pas]<=x)
i+=pas;
pas/=2;
}
fout<<i<<endl;
}
if(ask==2)
{
while(pas!=0)
{
if(i+pas<=n && v[i+pas]<x)
i+=pas;
pas/=2;
}
fout<<i+1<<endl;
}
}
return 0;
}