Pagini recente » Cod sursa (job #98768) | Cod sursa (job #2906607) | Cod sursa (job #1396550) | Cod sursa (job #98805) | Cod sursa (job #412384)
Cod sursa(job #412384)
#include <cstdio>
#define file_in "cautbin.in"
#define file_out "cautbin.out"
int n,m,tip,val,v[100000];
int caut()
{
int i,pas;
if (tip==2)
val--;
for (pas=1;pas<=n;pas<<=1);
for (i=0;pas;pas>>=1)
if (i+pas<=n && v[i+pas]<=val)
i+=pas;
if (tip==0 && v[i]!=val)
return -1;
if (tip==2)
return i+1;
return i;
}
int main()
{
int i;
freopen(file_in,"r",stdin);
freopen(file_out,"w",stdout);
scanf("%d", &n);
for (i=1;i<=n;++i)
scanf("%d", &v[i]);
scanf("%d", &m);
while(m--)
{
scanf("%d %d", &tip, &val);
printf("%d\n",caut());
}
fclose(stdin);
fclose(stdout);
return 0;
}