Pagini recente » Cod sursa (job #3237954) | Clasament fmi-no-stress-4 | Cod sursa (job #590867) | Cod sursa (job #450551) | Cod sursa (job #3228609)
#include<fstream>
using namespace std;
ifstream F("cautbin.in");
ofstream G("cautbin.out");
int a[100000];
int main()
{
int n,m,k,i=0;
for(F>>n;i<n;F>>a[i++]);
for(F>>m,k=1;k<n;k<<=1);
for(;m--;) {
int l,j,t;
if(F>>l>>j,l<2) {
for(i=0,t=k;t;t>>=1)
if(i+t<n&&a[i+t]<=j)
i+=t;
G<<(!l&&a[i]!=j?-1:i+1)<<'\n';
} else {
for(i=n-1,t=k;t;t>>=1)
if(i>=t&&a[i-t]>=j)
i-=t;
G<<i+1<<'\n';
}
}
return 0;
}