Pagini recente » Cod sursa (job #1244004) | Cod sursa (job #1645045) | Cod sursa (job #1937844) | Cod sursa (job #3030737) | Cod sursa (job #1395728)
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *in , *out;
in=fopen("cautbin.in","r");
out=fopen("cautbin.out","w");
int nelem , i , m , c, cer , n , pas,v[100001];
fscanf(in,"%d",&nelem);
for(i=1 ; i<=nelem ; i++)
fscanf(in,"%d",&v[i]);
fscanf(in,"%d",&m);
for(c=1 ; c<=m ; c++)
{
fscanf(in,"%d",&cer);
fscanf(in,"%d",&n);
if(cer==0)
{
i=0;
pas=1<<16;
while(pas!=0)
{
if(i+pas<=n && v[i+pas]==n)
i+=pas;
pas/=2;
}
i++;
if(v[i]==n)
fprintf(out,"%d",i);
else
fprintf(out,"-1");
}
if(cer==1)
{
i=0;
pas=1<<16;
while(pas!=0)
{
if(i+pas<=n && v[i+pas]<=n)
i+=pas;
pas/=2;
}
i++;
fprintf(out,"%d",i);
}
if(cer==2)
{
i=0;
pas=1<<16;
while(pas!=0)
{
if(i+pas<=n && v[i+pas]<n)
i+=pas;
pas/=2;
}
i++;
fprintf(out,"%d",i);
}
fprintf(out,"\n");
}
return 0;
}