Cod sursa(job #525991)

Utilizator ingridutz95Botescu Ingrid ingridutz95 Data 26 ianuarie 2011 22:21:07
Problema Cautare binara Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.85 kb
#include<stream.h>
ifstream f("cautbin.in");
ofstream g("cautbin.out");
int n,p,u,poz,w,m,x,a[100001];
int main(){
	f>>x;
	p=1;
	u=n;
	poz=-1;
	w=1;
	while(p<=u && w){
		m=(p+u)/2;
		if(x=a[m]){
			w=0; poz=m
			else { 
				if(x>a[m]) p=m+1;
					else u=m-1;
			}
		}
	}
	if(w=1) { g<<-1;
		else {
			while(a[poz]=x && poz<=n)
				poz=poz+1;
		g<<poz-1;
		}
	}
	while(p<=u && w=!){
		m=(p+u)/2;
		if(x=a[m]){
			w=0; poz=m
			else {
				if(x>a[m]) p=m+1;
					else u=m-1;
			}
		}
	}
	if(w=1) {
		g<<u;
		else {
			while(a[poz]=x && poz<=n)
			 poz=poz+1;
		g<<poz-1;
		}
	}
	while(p<=u && w) {
		m=(p+u)/2;
		if(x=a[m]){
			w=0; poz=m
			else {
				if(x>a[m]) p=m+1;
					else u=m-1;
			}
		}
	}
	if(w=1) {
		g<<p;
		else {
			while(a[poz]=x && poz>=1)
			poz=poz-1;
		g<<poz+1;
		}
	}
	g.close(); return 0;
}