Pagini recente » Cod sursa (job #2375602) | Cod sursa (job #1251781) | Cod sursa (job #2104202) | Cod sursa (job #679823) | Cod sursa (job #248471)
Cod sursa(job #248471)
#include<stdio.h>
int n,i,x,in,t;
int v[1000];
int caut(int x)
{
int st = 0, dr = n - 1, m;
while(st!=dr)
{
m = (st+dr)/2;
if(x <= v[m])
dr = m;
else st = m+1;
}
if( x == v[st])
return st;
return -1;
}
int main()
{
freopen("date.in","r",stdin);
freopen("date.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&v[i]);
scanf("%d",&t);
for(i=1;i<=t;i++)
{
scanf("%d",&in);
scanf("%d",&x);
if(in == 0)
printf("%d\n",caut(x));
if(in == 1)
{
while(caut(x) == -1)
x--;
printf("%d\n",caut(x));
}
if(in == 2)
{
while(caut(x) == -1)
x++;
printf("%d\n",caut(x));
}
}
return 0;
}