F - Sliding

解説を見る
  • 実行時間制限:2000 ms
  • メモリ制限:1073741824 Bytes
  • 配点:150
  • ジャッジ:Batch

問題

容量 NN の 💩 があります。また、横一列に MM 個のマス目が並んでいます。
左から ii 番目のマスには、種類 IiI_i 、栄養 SiS_i の食べ物が落ちています。

今、 💩 は、あるマスからあるマスまでの範囲にある食べ物を全て食べようとしています。しかし、💩 はその容量である NN 種類の食べ物を摂取すると死にます。
💩 が死ぬような範囲の選び方のうち、最も摂取した栄養の合計が小さくなるような選び方はどこですか?

制約

  • 1NM4000001 \leq N \leq M \leq 400000
  • 1IiM  (1iM)1 \leq I_i \leq M \; (1 \leq i \leq M)
  • 1Si109  (1iM)1 \leq S_i \leq 10^9 \; (1 \leq i \leq M)

小課題

  1. (100点) 1NM10001 \leq N \leq M \leq 1000
  2. (50点) 追加の制約はない。

入力

N MN~M
I1 I2 ... IMI_1~I_2~...~I_M
S1 S2 ... SMS_1~S_2~...~S_M

出力

最適な範囲を 「 Li<RL \leq i < R を満たす ii が表す範囲(つまり、左から LL 番目から R1R-1 番目までの範囲)」 としたときの L,RL, R を空白区切りで出力してください。
最適な範囲が複数ある場合は、 LL が最小になるものを出力してください。
また、どのような範囲を選んでも 💩 が死なない場合は

1 1-1~-1

と出力してください。

入出力例

入力例 1

3 5
1 3 2 3 1
4 1 3 5 2

出力例 1

1 4

この範囲を選ぶと3種類を摂取することになり、💩は死にます。そのような範囲の選び方で最適なのは [1,4)[1, 4) の範囲です。

入力例 2

4 10
1 2 2 4 3 1 1 3 2 4
3 1 3 5 2 9 1 2 5 6

出力例 2

1 6

入力例 3

4 5
1 2 3 3 1
1 1 1 1 1

出力例 3

-1 -1

この場合、💩は死にません。