fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5.  
  6. int n;
  7. cin>>n;
  8.  
  9. vector<int> numbers(n);
  10.  
  11. for(auto& number: numbers){
  12. cin>>number;
  13. }
  14.  
  15. int step = 0;
  16.  
  17. int largest = INT_MIN, secondLargest = INT_MIN;
  18. int smallest = INT_MAX;
  19.  
  20. for(int i = 0; i<n; i++){
  21. smallest = min(smallest, numbers[i]);
  22.  
  23. if(numbers[i] > largest){
  24. secondLargest = largest;
  25. largest = numbers[i];
  26. }
  27.  
  28. if(numbers[i] > secondLargest && numbers[i] < largest){
  29. secondLargest = numbers[i];
  30. }
  31. }
  32.  
  33.  
  34. while(largest != smallest){
  35. int thirdLargest = INT_MIN;
  36.  
  37. for(int i=0; i<n; i++){
  38. if(numbers[i] == largest){
  39. numbers[i] = secondLargest;
  40. step++;
  41. }
  42.  
  43. if(numbers[i] > thirdLargest && numbers[i] < secondLargest){
  44. thirdLargest = numbers[i];
  45. }
  46. }
  47.  
  48. largest = secondLargest;
  49. secondLargest = thirdLargest;
  50.  
  51. }
  52.  
  53. cout<<step;
  54.  
  55. return 0;
  56. }
Success #stdin #stdout 0s 5324KB
stdin
2
886 777
stdout
1