Cod sursa(job #825751)

Utilizator dragangabrielDragan Andrei Gabriel dragangabriel Data 29 noiembrie 2012 15:13:45
Problema Cautare binara Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include<cstdio>
#include<algorithm>
using namespace std;
int n,i,j,k,m,rez,x,y;
int v[100005];
int main()
{
	freopen("cautbin.in","r",stdin);
	freopen("cautbin.out","w",stdout);
	scanf("%d",&n);
	for (i=1;i<=n;i++) scanf("%d",&v[i]);
	sort(v+1,v+n+1);
	scanf("%d",&m);
	for (i=1;i<=m;i++)
	{
		scanf("%d %d",&x,&y);
		if (x==0)	if (lower_bound(v+1,v+n+1,y)-v==upper_bound(v+1,v+n+1,y)-v) printf("-1");else 	printf("%d\n",upper_bound(v+1,v+n+1,y)-v-1);
		if (x==1)  printf("%d\n",upper_bound(v+1,v+n+1,y)-v-1);
		if (x==2) printf("%d\n",lower_bound(v+1,v+n+1,y)-v);
	}
	return 0;
}