Pagini recente » Cod sursa (job #788225) | Cod sursa (job #2052668) | Cod sursa (job #5609) | Cod sursa (job #1894729) | Cod sursa (job #283836)
Cod sursa(job #283836)
#include <stdio.h>
int v[100001];
int i,n,m,x,sol,mid,tip;
int cbin (int st, int dr, int x)
{
while (st<=dr){
mid=(st+dr)/2;
if (v[mid]<=x){
sol=mid;
st=mid+1;
}
else dr=mid-1;
}
}
int main ()
{
freopen ("cautbin.in","r",stdin);
freopen ("cautbin.out","w",stdout);
scanf ("%d",&n);
for (i=1;i<=n;i++) scanf ("%d",&v[i]);
scanf ("%d",&m);
for (i=1;i<=m;i++){
scanf ("%d %d",&tip,&x);
cbin (1,n,x);
if (tip==0) {
if (v[sol]==x) printf ("%d\n",sol);
else printf ("-1\n");
}
else if (tip==1) printf ("%d\n",sol);
else {
if (v[sol]==x) printf ("%d\n",sol);
else printf ("%d\n",sol+1);
}
}
return 0;
}