Pagini recente » Cod sursa (job #1864736) | Cod sursa (job #2703750) | Cod sursa (job #2133109) | Rating dragos (dregosik) | Cod sursa (job #1145143)
#include <iostream>
#include <stdio.h>
#include <vector>
#include <algorithm>
using namespace std;
unsigned n;
vector<unsigned> v;
vector<unsigned>::iterator it;
int main()
{
freopen("cautbin.in","r",stdin);
freopen("cautbin.out","w",stdout);
unsigned i,nr,a,b,aux;
scanf("%u",&n);
for(i=1;i<=n;i++)
{
scanf("%u",&aux);
v.push_back(aux);
}
scanf("%u",&nr);
for(i=1;i<=nr;i++)
{
scanf("%u %u",&a,&b);
if(a==0)
{
if(binary_search(v.begin(),v.end(),b))
{
it = upper_bound(v.begin(),v.end(),b);
printf("%d\n", it- v.begin());
}
else
printf("-1\n");
}
else if(a==1)
{
it = upper_bound(v.begin(),v.end(),b);
printf("%d\n", it - v.begin());
}
else
{
if(binary_search(v.begin(),v.end(),b))
{
it = lower_bound(v.begin(),v.end(),b);
printf("%d\n", it - v.begin());
}
else
{
it = upper_bound(v.begin(),v.end(),b);
printf("%d\n", it - v.begin());
}
}
}
return 0;
}