Cod sursa(job #1506676)

Utilizator stoianmihailStoian Mihail stoianmihail Data 20 octombrie 2015 21:15:14
Problema Hashuri Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.79 kb
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define Nadejde 10000000

int a[Nadejde];

/*
void bSearch(int lo, int hi, int val) {
  while (hi - lo > 1) {
    int mid = (lo + hi) >> 1;
    if (a[mid] < val) {
      lo = mid;
    } else {
      hi = mid;
    }
  }
}
*/
void rSearch(int lo, int hi, int val) {
  while (hi - lo > 1) {
    int r = lo + rand() % (hi - lo) + 1;
    if (a[r] < val) {
      lo = r;
    } else {
      hi = r;
    }
  }
}

int main(void) {
  FILE *in = fopen("hashuri.in", "r");
  FILE *out = fopen("hashuri.out", "w");
  srand(time(NULL));

  int i, N = Nadejde;
  for (i = 0; i < N; i++) {
    a[i] = i;
  }
  //bSearch(-1, N, 1);
  rSearch(-1, N, 1);

  /// Multumim Doamne!
  puts("Doamne ajuta!");
  return 0;
}