Pagini recente » Cod sursa (job #2417878) | Cod sursa (job #2050382) | Cod sursa (job #2394908) | Cod sursa (job #190476) | Cod sursa (job #680816)
Cod sursa(job #680816)
#include <cstdio>
#include <algorithm>
#define MAX 100050
using namespace std;
int v[MAX];
int main()
{
freopen("cautbin.in", "r", stdin);
freopen("cautbin.out", "w", stdout);
int n, m, i,operatie, src, point;
scanf("%d\n", &n);
for(i = 1; i <= n; i++)
{
scanf("%d", &v[i]);
}
scanf("%d\n", &m);
sort(v + 1, v + n + 1);
for(i = 0 ; i < m; i++)
{
scanf("%d %d", &operatie, &src);
if(operatie == 0)
{
point = upper_bound(v + 1, v + n + 1, src) - v - 1;
if(v[point] == src && point >= 1 && point <= n)
{
printf("%d\n", point);
}
else
printf("-1\n");
}
else if(operatie == 1)
{
point = lower_bound(v + 1, v + n + 1, src + 1) - v - 1;
printf("%d\n", point);
}
else
{
point = upper_bound(v + 1, v + n + 1, src - 1) - v;
printf("%d\n", point);
}
}
fclose(stdin);
fclose(stdout);
return 0;
}