atcoder#ARC105C. [ARC105C] Camels and Bridge
[ARC105C] Camels and Bridge
题目描述
から の番号がついた 頭のラクダがいます。
ラクダ の体重は です。
あなたはラクダたちに隊列を組ませ、 個のパーツからなる橋を渡らせようとしています。
あなたは橋を渡る前にラクダたちの隊列を決め(番号の昇順となる必要はありません)、ラクダどうしを任意の非負の実数の間隔で並ばせることができます。 ラクダたちはこの決められた間隔を保って橋を渡ります。
橋の 番目のパーツは長さ で耐荷重は です。 パーツ内部(両端を除く)にいるラクダたちの体重の総和が より大きくなると、橋は崩落してしまいます。
橋が崩落しないようにラクダたちを渡らせることが可能かどうかを判定し、可能ならばそのときの先頭のラクダと末尾のラクダの距離としてありうる値の最小値を求めてください。 これは整数になることが証明できるので、整数で出力してください。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
どのようにしても橋が崩落してしまう場合、-1
を出力せよ。 そうでない場合、橋が崩落しないようにラクダたちを渡らせるときの先頭のラクダと末尾のラクダの距離としてありうる値の最小値を出力せよ。
题目大意
给定 只骆驼和每条骆驼的重量 。
这些骆驼要通过一条路,这条路被分为 个部分,每个部分的长度为 ,限重为 。
同时经过这部分的骆驼的重量和不能超过限重,否则就会坍塌。
你可以指定这 只骆驼的顺序和两两之间的距离,问第一只骆驼和最后一只的最短距离。如果走不了,输出 。
。
3 2
1 4 2
10 4
2 6
10
2 1
12 345
1 1
-1
8 1
1 1 1 1 1 1 1 1
100000000 1
700000000
8 20
57 806 244 349 608 849 513 857
778 993
939 864
152 984
308 975
46 860
123 956
21 950
850 876
441 899
249 949
387 918
34 965
536 900
875 889
264 886
583 919
88 954
845 869
208 963
511 975
3802
提示
制約
- 与えられる入力は全て整数
Sample Explanation 1
- 例えば、先頭から順に の順番に並べ、ラクダどうしの間隔をそれぞれ にすることで橋が崩落しないようにラクダたちを渡らせることが可能です。 - パーツ ではラクダ あるいはラクダ のみがパーツの内部にいる状態が起こります。どちらもパーツの内部にいるラクダたちの体重の総和がパーツ の耐荷重である 以下のため、橋が崩落することはありません。 - パーツ ではラクダ あるいはラクダ のみがパーツの内部にいる状態が起こります。どちらもパーツの内部にいるラクダたちの体重の総和がパーツ の耐荷重である 以下のため、橋が崩落することはありません。 - ラクダどうしの間隔が でもよいこと、パーツの内部はパーツの両端を含まないことに注意してください。
Sample Explanation 2
- どのようにしても橋が崩落してしまう場合は -1
を出力してください。