Pagini recente » Cod sursa (job #1120907) | Cod sursa (job #1182818) | Cod sursa (job #3276501) | Cod sursa (job #938901) | Cod sursa (job #1199322)
#include <fstream>
#include <algorithm>
using namespace std;
int v[100000];
int main()
{
ifstream f("cautbin.in");
ofstream g("cautbin.out");
int N, M, query, x;
f >> N;
for(int i=1; i<=N; i++)
f >> v[i];
f >> M;
for(int i=1; i<=M; i++) {
f >> query >> x;
if (query == 0) {
int y = upper_bound(v+1,(v+1)+N,x)- v - 1;
if(!(v[y]==x && y<=N))
y = -1;
g << y << "\n";
}
if (query == 1) {
g << lower_bound(v+1,(v+1)+N,x+1)-(v+1) << "\n";
}
if (query == 2) {
g << upper_bound(v+1,(v+1)+N,x-1)-v << "\n";
}
}
return 0;
}