A - Partition 解説
by
noya2
\(K\geq 1\) のとき
\(A\) を昇順にソートすることで, 必ず良い数列にできます.
\(A\) は昇順にソートされているものとします. \(A\) の累積和を \(B\) とします.
\(A\) の \(0\) 未満の値は \(0\) 以上の値よりも前に現れます. したがって, \(B\) は狭義単調減少列と広義単調増加列の連結として表されることになります. したがって, \(B\) の項を添字の小さい順に見ると, \(B_0=0\lt K\) からいくらか減少した後, \(K\) 未満の値から増加を始めます. もし \(B\) の値が \(K\) 以上の値になるなら, その後は常に \(K\) 以上の値になっています. したがって, \(A\) は良い数列です.
\(K\leq 0\) かつ \(\displaystyle\sum_{i=1}^{N}A_i\geq K\) のとき
\(A\) を降順にソートすることで, 必ず良い数列にできます.
\(A\) は降順にソートされているものとします. \(A\) の累積和を \(B\) とします.
\(A\) の \(0\) 以上の値は \(0\) 未満の値よりも前に現れます. したがって, \(B\) は狭義単調増加列と広義単調減少列の連結として表されることになります. したがって, \(B\) の項を添字の小さい順に見ると, \(B_0=0\geq K\) からいくらか増加した後, \(K\) 以上の値から減少を始めます. \(B_0\geq K\) なので, \(B\) の値は最初から \(K\) 以上ですが, \(B_N=\displaystyle\sum_{i=1}^{N}A_i\geq K\) なので, 最後まで \(K\) 以上になります. したがって, \(A\) は良い数列です.
\(K\leq 0\) かつ \(\displaystyle\sum_{i=1}^{N}A_i\lt K\) のとき
\(A\) をどのように並べ替えても良い数列にすることはできません.
\(A\) をどのように並べ替えても, \(A\) の累積和 \(B\) の初項と末項は一定です.
\(B_0=0\geq K\) かつ \(B_N=\displaystyle\sum_{i=1}^{N}A_i\lt K\) なので, 良い数列の条件に反しています.
投稿日時:
最終更新:
