Cod sursa(job #211931)

Utilizator silvia_the_bestSilvia Pripoae silvia_the_best Data 3 octombrie 2008 21:49:56
Problema Cautare binara Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <cstdio>
int t,x,n,v[100000];
int search(){
	int p=1,u=n,m;
	while (p!=u){
		m=(p+u)/2;
		if (x<=v[m])
			u=m;
		else
			p=m+1;
	}
	if (t==0)
		;
	if (t==1){
		if (v[p]>x)
			--p;
	}
	if (t==2){
		if (v[p]<x)
			++p;
	}
	return p;
}
void write(int i){
	printf("%d\n",i);
}
void read(){
	scanf("%d%d",&t,&x);
}
int main(){
	int i,m;
	freopen("cautbin.in","r",stdin);
	freopen("cautbin.out","w",stdout);
	scanf("%d",&n);
	for (i=1;i<=n;++i)
		scanf("%d",&v[i]);
	scanf("%d",&m);
	for (i=1;i<=m;++i){
		read();
		write(search());
	}	
}