Cod sursa(job #509147)

Utilizator cosmyoPaunel Cosmin cosmyo Data 10 decembrie 2010 16:05:04
Problema Cautare binara Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <cstdio>
#include <algorithm>
using namespace std;
const int N = 100005;
int a[N], n, m, x, y, p;
int main() {
	freopen("cautbin.in", "r", stdin);
	freopen("cautbin.out", "w", stdout);
	int i;
		scanf("%d ", &n);

		for(i = 1; i <= n; ++i)
			scanf("%d", &a[i]);

		scanf("%d", &m);

		for(; m; --m) {
			scanf("%d %d ", &y, &x);
			p = upper_bound(a + 1, a + n + 1, x) - a - 1;
			if( y == 0  )
				if( a[p] == x )
					printf("%d\n", p);
				else
					printf("%d\n", -1);

			if( y == 1 )
				printf("%d\n", p);

			p = lower_bound(a + 1, a + n + 1, x) - a;

			if( y == 2 )
				printf("%d\n",p);
		}

	return 0;
}