Afişează mesaje
|
|
Pagini: [1]
|
|
8
|
Comunitate - feedback, proiecte si distractie / Blog / Răspuns: Cautarea ta binara este gresita
|
: Martie 01, 2012, 22:18:45
|
#include <cstdio>
int N, A[1005];
int binary_search(int val) { int hi=N, lo=-1, mid; while(hi - lo > 1){ mid=lo+(hi-lo)/2; if(A[mid] <= val) lo=mid; else hi=mid; } if(hi==N && A[hi]!=val) return -1; else return hi; }
int main(){ freopen("date.in","r",stdin); int j, poz, x; scanf("%d",&N); for(j=0; j<N; ++j) scanf("%d",&A[j]); scanf("%d",&x); poz=binary_search(x); printf("\n%d",poz); }
|
|
|
|
|