D - Prevented to Carry Snowman

2 secs 1024 MB
matcharate12's icon matcharate12

修正について

2024.2/13 17:50時点: 入出力例の詳細に誤りがあったので修正しました。

Story

🍉

greenrate君とnum016君はおもちゃで存分に遊びました。面白いですねこれ。

…その頃。summerrate君は雪が大嫌いです。 雪が冷たくて、寒くなるためです。

「matcharateもwhiteもgreenrateもnum016もみんなそろいも揃って雪を楽しみやがって…早く夏になれ!!」

そう言ってると、matcharate君とwhiteさんはおっきなおっきな雪だるまを抱えながら、こっちにやってきます。 summerrate君の地獄耳から、matcharate君たちのことがこう聞こえました。

「みんな街は雪玉を嫌ってやがる…いい気味だ。もっと雪玉を嫌いにさせてやる!!!!」

問題

matcha国には雪が降っています。その雪を使って雪だるまKK 個作りました。
左から i (1iK)i\ (1\le i\le K) 番目の雪だるまの大きさは数値 UiU_i で表されます。

今からmatcharate君はこの KK 個の中から雪だるまを 11 つだけ選びます。
トラックが通る街の候補は NN 個あり、街と街を相互に繋ぐ道は N1N-1 本あります。
それぞれ街には 1,2,,N1,2,\dots ,N と番号づけられており、j (1jN1)j\ (1\le j\le N-1) 番目の道は街 AjA_j から街 j+1j+1 に繋いでいます。

さらにそれぞれの街はなるべく大きな雪だるまを持って街を訪れて欲しくないと思っています。
厳密に言うと街 x (2xN)x\ (2\le x\le N) を訪れる際に、運んでいる雪だるまの大きさが CxC_x 以下である必要があります。

また各道の距離はすべて 11 です。k=1,2,,Kk=1,2,\dots ,K に対する次の問に対し、答えを求めてください。

  • kk 番目の雪だるまを選びました。この雪だるまを、道を通りながら最も遠い街に運ぼうと思っています。
    11 から運ぶとしたとき、距離の合計の最大値はいくつですか?

ただしそれぞれの道は 11 度しか通れないものとします。

入力

入力は以下の形式で与えられる。

KK
U1U_1U2U_2\dotsUKU_K
NN
A1A_1A2A_2\dotsAN1A_{N-1}
C2C_2C3C_3\dotsCNC_N

制約

  • 1K10001\le K\le 1000
  • 1Ui1091\le U_i\le 10^9
  • 2N3002\le N\le 300
  • 1Aii (1iN1)1\le A_i\le i\ (1\le i\le N-1)
  • 1Ci109 (2iN)1\le C_i\le 10^9\ (2\le i\le N)
  • 入力はすべて整数

出力

KK 行出力せよ。ii 行目には k=ik=i としたときの答えを出力せよ。

入出力例

入力例1
5
10 20 5 10 30
7
1 2 2 4 4 1
20 10 40 5 10 15
出力例1
3
2
3
3
0

例えば k=2k=2 の時、次のように街を経由しながら移動すると 22 本の道をたどっていくことでたどりつくことができます。

  • 11 から街 22 に移動する
  • 22 から街 44 に移動する

11 から街 33 または街 77 に移動するとした際、U2=20U_2=20 から C3=10<20C_3=10\lt 20 また C7=15<20C_7=15\lt 20 より、この移動をすることはできません。

k=5k=5 の時は 11 つも街を経由することはできません。よって道を 11 つも通過することはできません。

提出


Go (1.21)