Pagini recente » Cod sursa (job #2767809) | Cod sursa (job #1037802) | Cod sursa (job #2144771) | Cod sursa (job #1128025) | Cod sursa (job #395141)
Cod sursa(job #395141)
#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;
}