Pagini recente » Cod sursa (job #2401068) | Cod sursa (job #566631) | Cod sursa (job #2799546) | Cod sursa (job #1416040) | Cod sursa (job #398499)
Cod sursa(job #398499)
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int n,m,x,i,k,r;
vector<int> v;
int main()
{
freopen("cautbin.in", "r", stdin);
freopen("cautbin.out", "w", stdout);
fscanf(stdin, "%d", &n);
for (i=0; i<n; i++) {
fscanf(stdin, "%d", &x);
v.push_back(x);
}
fscanf(stdin, "%d", &m);
for (i=0; i<m; i++) {
fscanf(stdin, "%d %d", &x, &k);
if (x==0) {
r = upper_bound(v.begin(), v.end(), k)- v.begin();
fprintf(stdout, "%d\n", (r == v.size()) ? -1 : r);
} else if (x==1) {
r = lower_bound(v.begin(), v.end(), k+1)- v.begin();
fprintf(stdout, "%d\n", r);
} else {
r = upper_bound(v.begin(), v.end(), k-1)- v.begin() +1;
fprintf(stdout, "%d\n", r);
}
}
fclose(stdin);
fclose(stdout);
return 0;
}