fork download
  1. #include <iostream>
  2. #include <vector>
  3. #include <numeric>
  4. #include <cmath>
  5.  
  6. int main() {
  7. int n;
  8. std::cin >> n;
  9.  
  10. std::vector<int> raii(n);
  11. for (int i = 0; i < n; ++i) {
  12. std::cin >> raii[i];
  13. }
  14.  
  15. // Calculăm suma totală și media
  16. int suma = std::accumulate(raii.begin(), raii.end(), 0);
  17. int medie = suma / n; // Rația țintă
  18.  
  19. int drumuri = 0;
  20. bool toateEgale = true;
  21.  
  22. for (int raie : raii) {
  23. if (raie != medie) {
  24. toateEgale = false;
  25. drumuri += std::abs(raie - medie); // adăugăm diferența
  26. }
  27. }
  28.  
  29. // Fiecare unitate de diferență necesită 1 drum dus și 1 întors
  30. drumuri /= 2;
  31.  
  32. // Afișăm numărul de drumuri
  33. std::cout << drumuri << std::endl;
  34.  
  35. // Verificăm dacă toate raiile erau egale
  36. if (toateEgale) {
  37. std::cout << "Wunorse, you lucky elf!" << std::endl;
  38. }
  39.  
  40. return 0;
  41. }
Success #stdin #stdout 0s 5284KB
stdin
9
1 2 3 1 4 5 6 1 8
stdout
9