#discovery2016finalb. [discovery_2016_final_b]DDPC特別ビュッフェⅡ

[discovery_2016_final_b]DDPC特別ビュッフェⅡ

问题

DISCO presents ディスカバリーチャンネルプログラミングコンテスト 2016本戦のDDPC特別ビュッフェの時間が始まりました。あなたはこれから料理の載っていないトレーに料理を載せに行くところです。 DDPC特別ビュッフェには NN 種類の料理があります。 ii 種類目の料理はビュッフェの開始から TiT_i 秒後になくなり、料理の美味しさは AiA_i です。

DDPC特別ビュッフェにはいくつかの特別なルールがあります。

  • あなたは 11 種類の料理をトレーに載せるのに 11 秒かけなくてはならない。すなわち料理を載せ始めた時刻が ss であったとき、料理を載せ終わったときの時刻は s+1s+1 となる。
  • あなたは以前にトレーに載せた料理と同じ種類の料理を載せてはならない。
  • 現在の時刻 sss+1Tis+1≦T_i を満たさないとき、種類 ii の料理をトレーに載せることはできない。

あなたはトレーに載っている料理の美味しさの総和が XX 以上になったところで席に戻ることにしました。トレーに載っている料理の美味しさの総和を XX 以上にすることが可能な最小の時刻 tt を求めてください。


输入

输入以以下格式从标准输入中给出。

NN XX T1T_1 T2T_2TNT_N A1A_1 A2A_2ANA_N

  • 第一行输入一个整数 N(1N105)N(1≦N≦10^{5}),表示DDPC特别自助餐存在的菜品种类数;一个整数 X(1X109)X(1≦X≦10^{9}),表示托盘上的美味程度总和的目标值。
  • 第二行输入一个整数 ii 表示DT特别自助餐的第 ii 种菜在 TiT_i 时刻消失,Ti(1Ti105)T_i (1≦T_i≦10^{5}) 以空格分隔。
  • 第三行输入一个整数 Ai(1Ai105)A_i (1≦A_i≦10^{5}) 表示DT特别自助餐的第 ii 种菜的美味度,以空格分隔。

输出

输出最小的时刻 tt,使得托盘上的菜品美味程度总和不少于 XX。如果无法实现,则输出-1。最后要换行。


部分点

此问题设置了部分点。

  • 如果在满足 Ti<TjT_i<T_j 的情况下,能够得到 AiAjA_i≧A_j 的数据集,则获得 1010 分。
  • 如果在没有其他约束的数据集中得到正确答案,则额外获得 4040 分,总共获得 5050 分。

输入示例 1

4 5
1 2 3 4
3 3 1 1

输出示例 1

2
  • 通过以下方式取餐,可以在 22 时刻托盘上的美味程度总和达到 55 以上:
  • 时刻 00 托盘上的美味程度总和为 00。将第一种菜放在托盘上。
  • 时刻 11 托盘上的美味程度总和为 33。将第二种菜放在托盘上。