Cod sursa(job #469177)
//cb din stl
#include <fstream>
#include <algorithm>
#define DN 100100
using namespace std;
int main()
{
int n,i,sir[DN],m,op,par,x;
ifstream f("cautbin.in");
ofstream g("cautbin.out");
f>>n;
for(i=1; i<=n; i++) f>>sir[i];
sort(sir+1,sir+n+1);
f>>m;
for(i=1; i<=m; i++) {
f>>op>>par;
if(!op) {
x=upper_bound(sir+ 1,sir+n+1,par)-sir-1;
if (x<=n&&x>=1&&sir[x]==par)
g<<x<<"\n";
else g<<"-1\n";
}
else if(op==1) {
x=lower_bound(sir+1,sir+n+1,par+1)-sir-1;
g<<x<<"\n";
}
else {
x=upper_bound(sir+1,sir+n+1,par-1)-sir;
g<<x<<"\n";
}
}
f.close();
g.close();
return 0;
}