Advertisement
PlotnikovPhilipp

Untitled

Nov 18th, 2019
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.60 KB | None | 0 0
  1. n, a, b, c  = [int(i) for i in input().split()]
  2. currentNumber = n
  3. while a > 0 or b > 0 or c > 0:
  4.     if a > 0 and b > 0 and c > 0:
  5.         arr = [currentNumber // 2, (currentNumber + 1) // 2, currentNumber if currentNumber == 0 else (currentNumber - 1) // 2]
  6.         currentNumber = min(arr)
  7.         if arr.index(currentNumber) == 0:
  8.             a -= 1
  9.         elif arr.index(currentNumber) == 1:
  10.             b -= 1
  11.         elif arr.index(currentNumber) == 2:
  12.             c -= 1
  13.     elif a > 0 and b > 0:
  14.         arr = [currentNumber // 2, (currentNumber + 1) // 2]
  15.         currentNumber = min(arr)
  16.         if arr.index(currentNumber) == 0:
  17.             a -= 1
  18.         elif arr.index(currentNumber) == 1:
  19.             b -= 1
  20.     elif a > 0 and c > 0:
  21.         arr = [currentNumber // 2, currentNumber if currentNumber == 0 else (currentNumber - 1) // 2]
  22.         currentNumber = min(arr)
  23.         if arr.index(currentNumber) == 0:
  24.             a -= 1
  25.         elif arr.index(currentNumber) == 1:
  26.             c -= 1
  27.     elif b > 0 and c > 0:
  28.         arr = [(currentNumber + 1) // 2, currentNumber if currentNumber == 0 else (currentNumber - 1) // 2]
  29.         currentNumber = min(arr)
  30.         if arr.index(currentNumber) == 0:
  31.             b -= 1
  32.         elif arr.index(currentNumber) == 1:
  33.             c -= 1
  34.     elif a > 0:
  35.         currentNumber = currentNumber // 2
  36.         a -= 1
  37.     elif b > 0:
  38.         currentNumber = (currentNumber + 1) // 2
  39.         b -= 1
  40.     elif c > 0:
  41.         currentNumber = currentNumber if currentNumber == 0 else (currentNumber - 1) // 2
  42.         c -= 1
  43. print(currentNumber)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement