#P15697. [2018 KAIST RUN Spring] Recipe

[2018 KAIST RUN Spring] Recipe

说明

Jaemin 喜欢烹饪。他想要为接下来的 NN 天设计几道食谱。他按照以下顺序设计食谱:

  1. 去市场购买食材,并将它们放入冰箱。
  2. 构思食谱。
  3. 从冰箱中取出食材并进行烹饪。

他可以用这种简单的方式来设计食谱。他希望能够烹饪出尽可能多的美味佳肴。

市场上每天都有新的食材。第 ii 天售卖的食材新鲜度为 FiF_i。冰箱中食材的新鲜度每天会减少 11。如果冰箱中已有食材,在他用这些食材烹饪之前,他不会购买更多食材。

他在第 ii 天的烹饪技能为 CiC_i。他的烹饪技能与日俱增,因此对于所有 i<ji < j,都有 0<CiCj0 < C_i \le C_j。如果他取出新鲜度为 FF 的食材,并以烹饪技能 CC 进行烹饪,那么他将制作出一道风味值为 F×CF \times C 的菜肴。当他烹饪时,他会邀请他的朋友 Jaehyun,Jaehyun 非常注重卫生,因此 Jaemin 希望冰箱中食材的新鲜度不低于 LiL_i。如果食材不满足这个要求,Jaemin 当天就无法烹饪。Jaehyun 的要求每天都会变化,NN 天的要求依次给定为 L1,L2,,LNL_1, L_2, \dots, L_N

在他烹饪完一道新菜肴后,他会在第二天去市场购买新的食材,并再次构思新的食谱。每天,他可以选择去市场购买食材、烹饪、或者为了设计食谱而什么都不做(也可以在购买食材的当天进行烹饪)。第一天,冰箱里没有任何食材,他会去市场购买一些食材。在第 NN 天,他必须进行烹饪并清空冰箱。让我们找出他烹饪的菜肴风味值总和的最大值。如果由于 Jaehyun 的特殊要求,无法在第 NN 天清空冰箱,则输出 “Impossible”(不包含引号)。

输入格式

输入包含四行。

第一行包含一个整数 NN

第二行包含 NN 个由空格分隔的整数 F1,F2,,FNF_1, F_2, \dots, F_N

第三行包含 NN 个由空格分隔的整数 C1,C2,,CNC_1, C_2, \dots, C_N

第四行包含 NN 个由空格分隔的整数 L1,L2,,LNL_1, L_2, \dots, L_N

输出格式

输出 Jaemin 烹饪的菜肴风味值总和的最大值。如果无法在第 NN 天清空冰箱,则输出 “Impossible”(不包含引号)。

3
10 1 1
1 2 3
1 1 1
24
3
10 1 1
1 2 3
10 10 10
Impossible
10
3 4 1 5 9 2 6 5 3 5
10 11 12 13 14 15 16 17 18 19
1 4 1 4 2 1 3 5 6 2
526

提示

数据范围

  • 2N250,0002 \le N \le 250,000
  • 0<Fi50,0000 < F_i \le 50,000
  • 0<C1CN10,0000 < C_1 \le \dots \le C_N \le 10,000
  • 0Li50,0000 \le L_i \le 50,000

翻译由 DeepSeek V3.2 完成