output_description: Print the minimum number of days on which the same type of cake as the
  previous day will be eaten.
  
  * * *
input_description: The input is given from Standard Input in the following format:
  
      
      
      K T
      a_1 a_2 ... a_T
attempt: #!/usr/bin/env python3
  # %% for atcoder uniittest use
  import sys
  
  input = lambda: sys.stdin.readline().rstrip()
  
  
  def pin(type=int):
      return map(type, input().split())
  
  
  def tupin(t=int):
      return tuple(pin(t))
  
  
  def lispin(t=int):
      return list(pin(t))
  
  
  # %%code
  def resolve():
      K, T = pin()
      A = tupin()
      B = [[A[i], i] for i in range(T)]
      # print(B)
      prev = None
      for k in range(K):
          B.sort(key=lambda x: x[0])
          #    print(B,"#")
          for i in reversed(range(T)):
              if B[i][0] > 0 and B[i][1] != prev:
                  B[i][0] -= 1
  
                  prev = B[i][1]
                  break
      print(sum([B[k][0] for k in range(T)]))
  
  
  # %%submit!
  resolve()
  
problem_description: Statement
  
  There are K pieces of cakes. Mr. Takahashi would like to eat one cake per day,
  taking K days to eat them all.
  
  There are T types of cake, and the number of the cakes of type i (1 ≤ i ≤ T)
  is a_i.
  
  Eating the same type of cake two days in a row would be no fun, so Mr.
  Takahashi would like to decide the order for eating cakes that minimizes the
  number of days on which he has to eat the same type of cake as the day before.
  
  Compute the minimum number of days on which the same type of cake as the
  previous day will be eaten.
samples: [{"input": "7 3\n    3 2 2", "output": "0\n    \n\nFor example, if Mr. Takahashi eats cakes in the order of 2, 1, 2, 3, 1, 3, 1,\nhe can avoid eating the same type of cake as the previous day.\n\n* * *"}, {"input": "6 3\n    1 4 1", "output": "1\n    \n\nThere are 6 cakes. For example, if Mr. Takahashi eats cakes in the order of 2,\n3, 2, 2, 1, 2, he has to eat the same type of cake (i.e., type 2) as the\nprevious day only on the fourth day. Since this is the minimum number, the\nanswer is 1.\n\n* * *"}, {"input": "100 1\n    100", "output": "99\n    \n\nSince Mr. Takahashi has only one type of cake, he has no choice but to eat the\nsame type of cake as the previous day from the second day and after."}]