#include <assert.h>
#include <math.h>

/** t : tableau trie dans l'ordre croissant
 * n : nombre de cases du tableau */
double plus_petite_distance(double *t, int n){
  // TODO
}

int main(void){
  double tab[] = {-4.3, -3.1, 0, 1.2, 5.6, 6.3};
  assert(fabs(plus_petite_distance(tab, 6) - .7) < 0.00001);

  double tab2[] = {-94.23, -93.82, -81.52, -81.38, -80.85, -78.48, -78.42, -78.11, -74.93, -70.26, -69.65, -68.39, -67.55, -66.33, -65.99, -65.53, -63.37, -61.02, -59.65, -59.6, -58.58, -57.45, -55.66, -53.88, -53.08, -51.64, -51.26, -50.74, -50.27, -50.03, -49.47, -49.38, -48.63, -48.31, -46.6, -46.41, -45.91, -44.17, -43.99, -43.96, -43.51, -43.29, -42.97, -42.6, -42.48, -42.47, -42.28, -41.64, -40.99, -40.81, -40.43, -40.11, -40.03, -40.0, -39.74, -38.63, -38.47, -38.36, -37.9, -37.59, -37.33, -37.12, -36.93, -36.02, -35.54, -35.46, -35.14, -34.7, -34.66, -34.57, -34.44, -34.21, -34.2, -33.84, -33.02, -32.81, -32.51, -32.26, -31.69, -30.83, -30.55, -30.47, -28.86, -28.85, -28.75, -28.63, -28.6, -28.46, -28.32, -28.26, -28.11, -28.1, -27.6, -27.02, -26.94, -26.9, -26.84, -26.62, -26.59, -26.53, -26.43, -26.24, -25.79, -25.42, -25.37, -25.29, -25.23, -24.81, -24.43, -24.21, -23.82, -23.65, -22.64, -22.15, -21.98, -21.11, -21.06, -20.91, -20.59, -20.32, -19.86, -19.83, -19.64, -19.52, -19.37, -19.24, -19.08, -18.87, -18.82, -18.5, -18.22, -18.12, -18.03, -17.97, -17.49, -17.44, -17.23, -17.1, -16.75, -16.7, -16.58, -16.5, -16.22, -16.11, -16.08, -16.05, -15.88, -15.79, -15.72, -15.71, -15.66, -15.47, -15.42, -15.37, -15.04, -14.95, -14.82, -14.61, -14.52, -14.35, -14.33, -14.25, -14.16, -14.12, -14.08, -13.74, -13.42, -13.29, -12.87, -12.77, -12.48, -12.39, -11.88, -11.41, -10.84, -10.82, -10.8, -9.56, -9.49, -9.31, -9.24, -9.01, -8.79, -8.67, -8.66, -8.61, -8.32, -8.21, -8.11, -7.73, -7.67, -7.47, -7.46, -7.36, -7.11, -6.97, -6.9, -6.75, -6.51, -6.42, -5.99, -5.68, -5.53, -5.45, -5.36, -5.19, -5.09, -4.83, -4.67, -4.64, -4.56, -4.49, -4.48, -4.11, -3.81, -3.73, -3.62, -3.19, -3.1, -3.02, -2.92, -2.79, -2.68, -2.65, -2.45, -2.43, -2.42, -2.37, -2.21, -2.11, -1.77, -1.74, -1.65, -1.6, -1.4, -1.37, -1.19, -1.07, -1.05, -0.88, -0.85, -0.83, -0.72, -0.67, -0.59, -0.53, -0.49, -0.45, -0.41, -0.37, -0.36, -0.28, -0.25, -0.24, -0.17, -0.11, 0.0, 0.01, 0.04, 0.11, 0.16, 0.41, 0.5, 0.53, 0.55, 0.56, 0.67, 0.73, 0.74, 0.79, 0.8, 0.83, 0.91, 0.95, 1.02, 1.11, 1.24, 1.32, 1.46, 1.48, 1.55, 1.56, 1.64, 1.67, 1.76, 2.14, 2.22, 2.24, 2.27, 2.66, 2.88, 3.11, 3.15, 3.58, 3.74, 3.87, 4.11, 4.35, 4.51, 4.53, 4.54, 4.81, 4.82, 4.9, 5.19, 5.33, 5.4, 5.52, 5.6, 5.62, 5.86, 6.02, 6.4, 6.53, 6.83, 6.87, 7.21, 7.23, 7.64, 7.78, 7.8, 7.93, 7.98, 8.24, 8.5, 8.79, 8.95, 9.27, 9.33, 9.86, 9.9, 9.98, 10.83, 11.32, 11.48, 11.52, 12.65, 13.02, 13.04, 13.06, 13.08, 13.24, 13.39, 13.51, 13.89, 13.97, 14.05, 14.14, 14.21, 14.31, 14.41, 14.51, 14.59, 14.98, 15.08, 15.27, 15.31, 15.51, 15.58, 15.62, 15.68, 16.27, 16.54, 16.65, 16.71, 16.89, 16.91, 16.92, 16.95, 17.65, 18.76, 19.51, 21.1, 21.14, 21.16, 21.18, 21.26, 21.46, 21.59, 21.85, 21.87, 21.94, 22.94, 23.33, 23.43, 23.62, 23.7, 23.8, 23.83, 24.62, 25.05, 25.54, 25.91, 26.26, 26.66, 26.8, 27.02, 28.17, 28.3, 28.41, 28.87, 29.08, 29.09, 29.71, 29.86, 30.06, 30.29, 30.64, 30.94, 31.06, 31.15, 31.69, 32.04, 32.14, 32.73, 32.91, 32.93, 33.2, 33.3, 33.62, 33.92, 34.15, 34.23, 34.3, 34.4, 35.11, 35.17, 35.52, 35.68, 35.76, 35.89, 36.49, 36.69, 37.48, 37.88, 38.63, 39.3, 39.77, 40.26, 41.05, 41.32, 41.39, 42.54, 43.56, 44.29, 44.63, 44.89, 45.78, 46.15, 46.16, 46.41, 47.44, 47.69, 47.73, 47.75, 48.07, 49.35, 50.05, 50.47, 50.5, 51.21, 51.68, 53.27, 53.29, 55.8, 56.29, 57.86, 58.29, 58.84, 59.04, 59.45, 59.66, 61.3, 61.64, 62.82, 63.76, 64.41, 65.97, 66.84, 66.87, 67.8, 67.83, 68.2, 69.46, 69.86, 70.64, 71.61, 72.28, 73.1, 75.79, 76.38, 76.49, 76.84, 78.72, 79.01, 81.03, 82.54, 82.89, 88.14, 88.96};
  assert(fabs(plus_petite_distance(tab2, 500) - 0.00999999999999801) < 0.00001);
  
  return 0;
}
