Pagini recente » Cod sursa (job #1952182) | Cod sursa (job #2407999) | Cod sursa (job #725903) | Cod sursa (job #945786) | Cod sursa (job #2075111)
#include <stdio.h>
using namespace std;
int st, lg_pana_la_mij, n, m, intrebare, a[100000]={0}, x;
int main()
{
freopen("cautbin.in", "r", stdin);
freopen("cautbin.out", "w", stdout);
scanf("%d \n", &n);
for(int i=0; i<n; i++)
scanf("%d, ", &a[i]);
scanf("\n %d \n", &m);
for(int i=0; i<m; i++)
{
scanf("%d %d \n", &intrebare, &x);
lg_pana_la_mij=1, st=0;
while(lg_pana_la_mij<=n)
lg_pana_la_mij<<=1;
if(intrebare<2)
{
while(lg_pana_la_mij)
{
if(st+lg_pana_la_mij<=n && a[st+lg_pana_la_mij-1]<=x)
st+=lg_pana_la_mij;
lg_pana_la_mij>>=1;
}
if(intrebare==0&&a[st-1]!=x)
printf("-1 \n");
else
printf("%d \n", st);
}
else
{
st=n;
while(lg_pana_la_mij)
{
if(st-lg_pana_la_mij>0 && a[st-lg_pana_la_mij-1]>=x)
st-=lg_pana_la_mij;
lg_pana_la_mij>>=1;
}
printf("%d \n", st);
}
}
return 0;
}