Max Dot -- AtCoder Regular Contest 128 C
AtCoder Regular Contest 128 (ARC 128) C - Max Dot を解説ACしました. 公式解説より,多少行間が埋まっていると思います. 問題概要 整数 $N, M, S$ と整数列 $A = (A_1, .., A_N)$ が与えられる. 次の条件を満たす非負実数列 $(x_1, …, x_N)$ を作る: $0 \leq x_1 \leq x_2 \leq \cdots \leq x_N \leq M $ $x_1 + x_2 + \cdots + x_N = S$ $\sum_{i=1}^{N} A_i x_i$ の最大値を求めよ. 制約: $N \leq 5000$; $M,S,A_i \leq 10^6$; $S \leq NM$; 問題へのリンク 解法 $x_0 := 0$ として,$y_i := x_{i+1} - x_i$ ($i = 0, \ldots, N-1$) とすると, 次のように言い換えられる:...