Pagini recente » Cod sursa (job #2861929) | Cod sursa (job #949658) | Cod sursa (job #2612998) | Cod sursa (job #552172) | Cod sursa (job #1147303)
#include <fstream>
#include <algorithm>
using namespace std;
const int Nmax = 100005;
int A[Nmax];
int main()
{
ifstream f ("cautbin.in");
ofstream g ("cautbin.out");
int N, M, mod, val, *it;
f >> N;
for (int i = 0; i < N; i++)
{
f >> A[i];
}
f >> M;
while(M--) {
f >> mod >> val;
switch (mod)
{
case 0: it = upper_bound(A, A + N, val); --it;
if (*it == val)
g << it - A + 1 << '\n';
else g << -1 << '\n';
break;
case 1: it = upper_bound(A, A + N, val);
g << it - A << '\n';
break;
case 2: it = lower_bound(A, A + N, val);
g << it - A + 1 << '\n';
}
}
return 0;
}