Pagini recente » Rating --------- (zigurat56) | Cod sursa (job #2752714) | Cod sursa (job #691264) | Cod sursa (job #1122024) | Cod sursa (job #781333)
Cod sursa(job #781333)
#include <cstdio>
#include <cstdlib>
#include <algorithm>
using namespace std;
int N, M, A, B, v[100010];
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);
if(A == 0)
{
int pos = upper_bound(v, v + N, B) - v;
if(v[pos - 1] == B) printf("%i\n", pos);
else printf("-1\n");
}
if(A == 1)
{
int pos = upper_bound(v, v + N, B) - v;
printf("%i\n", pos);
}
if(A == 2)
{
int pos = lower_bound(v, v + N, B) - v + 1;
printf("%i\n", pos);
}
}
return 0;
}