161AC - ABC103C: Modulo Summation

ABC103-C (300 points)
問題

 N 個の正整数  a_1, a_2, \ldots, a_N が与えられるとき, 非負整数  m に対して  f(m) を以下のように定義する.
 f(m) = \sum_{i = 1}^N (m \ mod \ a_i)
このとき,  f の最大値を求める.

  •  2 \leq  N \leq 3000
  •  2 \leq  a_i \leq 10^5
  • 入力は全て整数.
方針
  •  f の第  i 項について考えると  m \ mod \ a_i の最大値は  a_i - 1.
  •  m = a_1 \times a_2 \times \cdots \times a_N - 1 とすると, 各項が最大値を取るので, このとき  f も最大値.
# input
N = int(input())
A = list(map(int, input().split()))
 
ans = sum(A) - N
 
print(ans)