atcoder#ARC138A. [ARC138A] Larger Score
[ARC138A] Larger Score
配点 : 点
問題文
長さ の整数列 があります. 以降この問題では, の先頭 項の和を スコア と呼ぶことにします. また,入力で与えられた のスコアを と置くことにします.
あなたは,以下の操作を好きな回数繰り返すことができます.
- のある隣接する 要素を選び,それらの値を入れ替える.
あなたの目標は,スコアを 以上にすることです. 目標が達成可能であるかどうか判定し,また可能であるなら必要な最小の操作回数を求めてください.
制約
- 入力される値はすべて整数
入力
入力は以下の形式で標準入力から与えられる.
出力
目標が達成可能でない場合,-1
を出力せよ.
可能である場合,必要な最小の操作回数を出力せよ.
4 2
2 1 1 2
2
まず, です. 以下のように操作することで,スコアを 以上にすることができます.
- と の値を入れ替える と の値を入れ替える
回の操作では目標を達成できないため,必要な最小の操作回数は になります.
3 1
3 2 1
-1
20 13
90699850 344821203 373822335 437633059 534203117 523743511 568996900 694866636 683864672 836230375 751240939 942020833 865334948 142779837 22252499 197049878 303376519 366683358 545670804 580980054
13