Pagini recente » Cod sursa (job #2394752) | Cod sursa (job #2317992) | Cod sursa (job #2876937) | Cod sursa (job #1502011) | Cod sursa (job #735162)
Cod sursa(job #735162)
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <algorithm>
#include <vector>
using namespace std;
long x,n,m,a,b,v[100001];
int main()
{
freopen("cautbin.in","r",stdin);
freopen("cautbin.out","w",stdout);
int i;
scanf("%ld", &n);
for(i=0;i<n;i++) scanf("%ld", &v[i]);
scanf("%ld", &m);
for(i=0;i<m;i++)
{
scanf("%ld %ld", &a,&b);
if(a==0)
{
long *up=upper_bound(v,v+n,b);
if(*(up-1)==b) printf("%ld\n", (up-v));
else printf("-1\n");
}
if(a==1)
{
long *up=upper_bound(v,v+n,b);
printf("%ld\n", up-v);
}
if(a==2)
{
long *low=lower_bound(v,v+n,b);
printf("%ld\n", low-v+1);
}
}
scanf("%i", &i);
return 0;
}