Pagini recente » Cod sursa (job #1979493) | Cod sursa (job #1857498) | Cod sursa (job #1608733) | Istoria paginii runda/kikis_delivery_service/clasament | Cod sursa (job #613399)
Cod sursa(job #613399)
#include <stdio.h>
int a[100000],n,m;
void init ()
{
freopen("cautbin.in","r",stdin);
freopen("cautbin.out","w",stdout);
}
void citire ()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
scanf("%d",&m);
}
int max_pos (int x)
{
int s=0;
for(int j=1;j<=n;j++){
if(a[j]==x)
s=j;
if(a[j]>x)
break;
if(a[j]!=x)
s=-1;
}
return s;
}
int pos_max (int x)
{
int j;
for(j=1; j<=n && a[j]<=x;j++);
return j-1;
}
int pos_min (int x)
{
int j;
for(j=1; j<=n && a[j]<x;j++);
return j+1;
}
void intrebari ()
{
int tip,nr;
for(int i=1;i<=m;i++)
{
scanf("%d %d",&tip,&nr);
if(tip==0)
printf("%d\n",max_pos(nr));
else if (tip==1)
printf("%d\n",pos_max(nr));
else
printf("%d\n",pos_min(nr));
}
}
int main ()
{
init();
citire();
intrebari();
return 0;
}