fork download
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. int main() {
  5. int n;
  6. std::cin >> n;
  7.  
  8. std::vector<int> numbers(n);
  9. for (int i = 0; i < n; ++i) {
  10. std::cin >> numbers[i];
  11. }
  12.  
  13. int closestValue = -1;
  14. int minDifference = 1000000; // Valoare mare predefinită
  15.  
  16. for (int i = 0; i < n; ++i) {
  17. // Calculăm diferența fără a folosi std::abs
  18. int difference = numbers[i] - n;
  19. if (difference < 0) {
  20. difference = -difference; // Facem diferența pozitivă
  21.  
  22. }
  23.  
  24. // Verificăm dacă diferența este mai mică decât diferența minimă
  25. if (difference < minDifference) {
  26. minDifference = difference;
  27. closestValue = numbers[i];
  28. } else if (difference == minDifference) {
  29. // Dacă avem o diferență egală, alegem valoarea minimă
  30. if (numbers[i] < closestValue) {
  31. closestValue = numbers[i];
  32. }
  33. }
  34. }
  35.  
  36. std::cout << closestValue;
  37. return 0;
  38. }
Success #stdin #stdout 0s 5288KB
stdin
7
1 4 11 5 10 2 12
stdout
5