Pagini recente » Cod sursa (job #1865471) | Cod sursa (job #523462) | Cod sursa (job #2870716) | Cod sursa (job #1661795) | Cod sursa (job #680787)
Cod sursa(job #680787)
#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 = 0; i < n; i++)
{
scanf("%d", &v[i]);
}
scanf("%d\n", &m);
sort(v, v + n);
for(i = 0 ; i < m; i++)
{
scanf("%d %d", &operatie, &src);
if(operatie == 0)
{
point = upper_bound(v, v + n, src);
point--;
if(*point == src)
{
printf("%d\n", point - v + 1);
}
}
else if(operatie == 1)
{
point = lower_bound(v, v + n, src);
if(*point == src)
{
point = upper_bound(v, v + n, src);
point--;
}
printf("%d\n", point - v + 1);
}
else
{
point = upper_bound(v, v + n, src);
point--;
if(*point == src)
{
point = lower_bound(v, v + n, src);
}
printf("%d\n", point - v + 1);
}
}
fclose(stdin);
fclose(stdout);
return 0;
}