Advertisement
MonsterScripter

CodinGame_2023_08_26__10_15_08__hippodrome_casablanca.sh

Aug 26th, 2023
1,223
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.20 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3.  
  4. # Objectif
  5. # L'Hippodrome de Casablanca organise un nouveau type de course de chevaux : les duels. Lors d'un duel, seulement deux chevaux participent à la course. Pour que la course soit intéressante, il faut sélectionner deux chevaux qui ont une puissance similaire.
  6. #
  7. # Écrivez un programme qui, à partir d'un ensemble donné de puissances, identifie les deux puissances les plus proches et affiche leur écart avec un nombre entier positif.
  8. #
  9. # Entrées du jeu :
  10. #
  11. # Entrée
  12. # Ligne 1 : Le nombre N de chevaux
  13. # Les N lignes suivantes : la puissance Pi de chaque cheval. Pi est un entier.
  14. #
  15. # Sortie
  16. # La différence D entre les deux puissances les plus proches. D est un entier positif.
  17. #
  18. # Contraintes :
  19. # 1 < N < 100000
  20. # 0 < Pi ≤ 10000000
  21. #
  22. # Exemple
  23. # Entrée
  24. # 3
  25. # 5
  26. # 8
  27. # 9
  28. # Sortie
  29. # 1
  30.  
  31. read -r N
  32. list=()
  33. for (( i=0; i<$N; i++ )); do
  34.     read -r Pi
  35.     list+=($Pi)
  36. done
  37. # Tri du tableau
  38. list=($(printf '%s\n' "${list[@]}" | sort -n))
  39. # Affecte d à la dernière valeur du tableau
  40. d=${list[-1]}
  41. for (( i=1; i<${#list[@]}; i++ )); do
  42.     if (( ${list[i]} - ${list[i-1]} < d ));
  43.     then
  44.         d=$(( ${list[i]} - ${list[i-1]} ))
  45.     fi
  46. done
  47. echo $d
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement