Advertisement
Guest User

Untitled

a guest
May 22nd, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.24 KB | None | 0 0
  1. c_position = 1
  2. iterations = 0
  3. difference = 0
  4.  
  5.  
  6. def minimilize(cposition, iters):
  7.     temp = 0
  8.     while cposition < l:
  9.         if nums[cposition] < nums[cposition - 1]:
  10.             temp += nums[cposition - 1] - nums[cposition]
  11.         else:
  12.             break
  13.         cposition += 1
  14.     return temp, cposition
  15.  
  16.  
  17. def maximilize(cposition, iters):
  18.     temp = 1
  19.     while cposition < l:
  20.         if nums[cposition] > nums[cposition - 1]:
  21.             temp += nums[cposition] - nums[cposition - 1]
  22.         else:
  23.             break
  24.         cposition += 1
  25.     return temp, cposition
  26.  
  27.  
  28. N = int(input())
  29. nums = [int(item) for item in input().split()]
  30. l = len(nums)
  31.  
  32. while c_position < l:
  33.     if nums[c_position] < nums[c_position - 1]:
  34.         results = minimilize(c_position, iterations)
  35.         c_position = results[1]
  36.         iterations += results[0]
  37.         difference += results[0]
  38.     elif nums[c_position] == nums[c_position - 1]:
  39.         c_position += 1
  40.     elif nums[c_position] > nums[c_position - 1]:
  41.         results = maximilize(c_position, iterations)
  42.         c_position = results[1]
  43.         difference -= results[0]
  44.     if difference < 0:
  45.         iterations += abs(difference)
  46.         difference = 0
  47.  
  48. print(iterations)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement