Pagini recente » Cod sursa (job #79943) | Cod sursa (job #1437337) | Cod sursa (job #791625) | Cod sursa (job #2457341) | Cod sursa (job #1733268)
#include <iostream>
#include <algorithm>
#define NMAX 100010
#include <fstream>
using namespace std;
ifstream f("cautbin.in");
ofstream g("cautbin.out");
int v[NMAX];
int n,m;
int poz;
int main()
{
int op,op1;
f >> n;
for(int i=1;i<=n;i++)
f >> v[i];
f >> m;
for(int i=1;i<=m;i++){
f >> op >> op1;
if(op==0){
poz = upper_bound(v+1,v+n+1,op1) - v - 1;
if(poz >=1 && poz <= n && v[poz] == op1)
g << poz << '\n';
else g << -1 << '\n';
}
else if(op == 1){
g << lower_bound(v+1,v+n+1,op1+1)- v - 1 << '\n';
}
else g << upper_bound(v+1,v+n+1,op1-1) - v << '\n';
}
return 0;
}