Pagini recente » Cod sursa (job #1059038) | Cod sursa (job #826915) | Cod sursa (job #1320609) | Cod sursa (job #853370) | Cod sursa (job #395143)
Cod sursa(job #395143)
#include <stdio.h>
int n,m,a[1000],M,t,nrc,p,u,i;
int main()
{
FILE*f=fopen("cautbin.in","r");
FILE*g=fopen("cautbin.out","w");
fscanf(f,"%d",&n);
for(i=1;i<=n;i++)
fscanf(f,"%d",&a[i]);
fscanf(f,"%d",&M);
for(i=1;i<=M;i++){
fscanf(f,"%d %d",&t,&nrc);
p=a[1];u=a[n];
while(p<=u){
m=(p+u)/2;
if(m==nrc)
break;
if(nrc<a[m])
u=m-1;
else
p=m+1;
}
if(t==0)
while(a[m+1]==a[m])
m++;
if(t==1)
while(a[m+1]>=a[m])
m++;
if(t==2)
while(a[m-1]<=a[m])
m--;
if (a[m]==nrc)
fprintf(g,"%d \n",m);
else
fprintf(g,"-1\n");
}
fclose(f);
fclose(g);
return 0;
}