Cod sursa(job #445521)

Utilizator Bogdan_tmmTirca Bogdan Bogdan_tmm Data 24 aprilie 2010 08:54:53
Problema Cautare binara Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include<algorithm>
#include<vector>
using namespace std;
vector <int> a(1);
vector <int> ::iterator it;
int n,x,m;
int main()
{
	freopen("cautbin.in","r",stdin);
	freopen("cautbin.out","w",stdout);
	scanf("%d",&n);
	for(;n--;)
	{
		scanf("%d",&x);
		a.push_back(x);
	}
	scanf("%d",&m);
	for(;m--;)
	{
		scanf("%d %d\n",&x,&n);
		if(!x||(x&1))
		{
			it=lower_bound(a.begin()+1,a.end(),n+1)-1;
			if(*it!=n&&!x)
				printf("-1\n");
		}
		else
			it=lower_bound(a.begin()+1,a.end(),n);

		printf("%d\n",it-a.begin());
	}
	return 0;
}