Pagini recente » Cod sursa (job #2640141) | Cod sursa (job #2429587) | Cod sursa (job #557296) | Cod sursa (job #256605) | Cod sursa (job #779279)
Cod sursa(job #779279)
#include <cstdio>
#include <cstdlib>
#include <algorithm>
using namespace std;
int v[100010], A, B, N, M;
int main()
{
freopen("cautbin.in", "r", stdin);
freopen("cautbin.out", "w", stdout);
int i;
scanf("%i", &N);
for(i = 0; i < N; i++) scanf("%i", &v[i]);
scanf("%i", &M);
for(; M; M --)
{
scanf("%i %i", &A, &B);
int pos;
if(A == 0)
{
pos = upper_bound(v, v + N, B) - v;
if(v[pos - 1] == B) printf("%i\n", pos);
else printf("-1\n");
}
if(A == 1)
{
pos = upper_bound(v, v + N, B) - v;
printf("%i\n", pos);
}
if(A == 2)
{
pos = lower_bound(v, v + N, B) - v + 1;
printf("%i\n", pos);
}
}
scanf("%i", &i);
return 0;
}