Pagini recente » Cod sursa (job #919656) | Cod sursa (job #2227996) | Cod sursa (job #834514) | Cod sursa (job #1264730) | Cod sursa (job #1028867)
#include<stdio.h>
#include<vector>
#include<algorithm>
using namespace std;
vector<int> a;
vector<int>::iterator h;
int n, m;
int main(){
freopen("cautbin.in", "r", stdin);
freopen("cautbin.out", "w", stdout);
scanf("%d", &n);
for(int i = 1; i <= n; ++ i){
int k = 0;
scanf("%d", &k);
a.push_back(k);
}
scanf("%d", &m);
for(int i = 1; i <= m; ++ i){
int k = 0, Tip = 0;
scanf("%d %d", &Tip, &k);
if(Tip == 0){
int poz = upper_bound(a.begin(), a.end(), k) - a.begin();
if(a[poz - 1] != k)
poz = -1;
printf("%d\n", poz);
}
if(Tip == 1)
printf("%d\n", upper_bound(a.begin(), a.end(), k) - a.begin());
if(Tip == 2)
printf("%d\n", lower_bound(a.begin(), a.end(), k) - a.begin() + 1);
}
return 0;
}