Pagini recente » Cod sursa (job #1025658) | Cod sursa (job #992138) | Cod sursa (job #1523384) | Cod sursa (job #2640751) | Cod sursa (job #1963084)
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#define NMAX 100005
using namespace std;
int n, m;
int vec[NMAX];
void read()
{
int nrIntrebare, elem;
scanf("%d\n", &n);
for (int i=0; i<n; i++)
scanf("%d ", &vec[i]);
scanf("%d\n", &m);
for (int i=1; i<=m; i++)
{
scanf("%d %d\n", &nrIntrebare, &elem);
if (nrIntrebare == 0)
{
int poz = (upper_bound(vec, vec+n, elem) - vec -1);
if (vec[poz] != elem)
printf("-1\n");
else
printf("%d\n", poz + 1);
}
else if (nrIntrebare == 1)
{
int poz = lower_bound(vec, vec+n, elem+1) - vec;
printf("%d\n", poz);
}
else if (nrIntrebare == 2)
{
int poz = upper_bound(vec, vec+n, elem-1) - vec;
printf("%d\n", poz + 1);
}
}
}
int main()
{
freopen("cautbin.in", "r", stdin);
freopen("cautbin.out", "w", stdout);
read();
return 0;
}