Pagini recente » Cod sursa (job #1377308) | Cod sursa (job #2938333) | Cod sursa (job #2716668) | Cod sursa (job #1273398) | Cod sursa (job #373698)
Cod sursa(job #373698)
#include<stdio.h>
long huge f[1001],a[1001],b[1001];
int main()
{
long n,m,i,p=0,val=0,j;
freopen("cautbin.in","r",stdin);
freopen("cautbin.out","w",stdout);
scanf("%ld",&n);
for(i=1;i<=n;i++)
scanf("%ld",&f[i]);
scanf("%ld",&m);
for(i=1;i<=m;i++)
scanf("%ld%ld",&a[i],&b[i]);
for(i=1;i<=m;i++)
{
val=0;
p=0;
if(a[i]==0)
{
for(j=n;j>=n/2;j--)
if(f[j]<=b[i])
{
printf("%ld\n",j);
val=1;
p=1;
break;
}
if(val==0)
{
for(j=n/2+1;j>=1;j--)
if(f[j]<=b[i])
{
printf("%ld\n",j);
p=1;
break;
}
}
if(p==0)
printf("-1\n");
}
else
if(a[i]==1)
{
for(j=n;j>=n/2;j--)
if(f[j]<=b[i])
{
printf("%ld\n",j);
val=1;
break;
}
if(val==0)
{
for(j=n/2+1;j>=1;j--)
if(f[j]<=b[i])
{
printf("%ld\n",j);
break;
}
}
}
else
if(a[i]==2)
{
for(j=1;j<=n/2;j++)
if(f[j]>=b[i])
{
printf("%ld\n");
val=1;
p=1;
break;
}
if(val==0)
{
for(j=n/2;j<=n;j++)
if(f[j]>=b[i])
{
printf("%ld\n",j);
break;
}
}
}
}
return 0;
}