Advertisement
jusohatam

Untitled

Aug 22nd, 2020
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.01 KB | None | 0 0
  1. from math import inf
  2.  
  3.  
  4. def get_len(arr):
  5.     count = 0
  6.     for elem in arr:
  7.         if elem != 0:
  8.             count += 1
  9.     return count
  10.  
  11.  
  12. def find_min(n, arr):
  13.     ind = 0
  14.     m = inf
  15.     for i in range(n):
  16.         if arr[i] < m and arr[i] != 0:
  17.             m = arr[i]
  18.             ind = i
  19.     return ind
  20.  
  21.  
  22. def find_max(n, arr):
  23.     ind = 0
  24.     m = -inf
  25.     for i in range(n):
  26.         if arr[i] >= m and arr[i] != 0:
  27.             m = arr[i]
  28.             ind = i
  29.     return ind
  30.  
  31.  
  32. def solution(n, arr):
  33.     count = 0
  34.     while get_len(arr) > 1:
  35.         min_elem_ind = find_min(n, arr)
  36.         max_elem_ind = find_max(n, arr)
  37.         if arr[min_elem_ind] == arr[max_elem_ind]:
  38.             count += arr[min_elem_ind]
  39.             arr[min_elem_ind] = 0
  40.             arr[max_elem_ind] = 0
  41.         else:
  42.             arr[min_elem_ind] -= 1
  43.             arr[max_elem_ind] -= 1
  44.             count += 1
  45.     return count
  46.  
  47.  
  48. n = int(input())
  49. arr = list(map(int, input().split()))
  50. print(solution(n, arr))
  51.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement