P15697 [2018 KAIST RUN Spring] Recipe
题目描述
Jaemin 喜欢烹饪。他想要为接下来的 $N$ 天设计几道食谱。他按照以下顺序设计食谱:
1. 去市场购买食材,并将它们放入冰箱。
2. 构思食谱。
3. 从冰箱中取出食材并进行烹饪。
他可以用这种简单的方式来设计食谱。他希望能够烹饪出尽可能多的美味佳肴。
市场上每天都有新的食材。第 $i$ 天售卖的食材新鲜度为 $F_i$。冰箱中食材的新鲜度每天会减少 $1$。如果冰箱中已有食材,在他用这些食材烹饪之前,他不会购买更多食材。
他在第 $i$ 天的烹饪技能为 $C_i$。他的烹饪技能与日俱增,因此对于所有 $i < j$,都有 $0 < C_i \le C_j$。如果他取出新鲜度为 $F$ 的食材,并以烹饪技能 $C$ 进行烹饪,那么他将制作出一道风味值为 $F \times C$ 的菜肴。当他烹饪时,他会邀请他的朋友 Jaehyun,Jaehyun 非常注重卫生,因此 Jaemin 希望冰箱中食材的新鲜度不低于 $L_i$。如果食材不满足这个要求,Jaemin 当天就无法烹饪。Jaehyun 的要求每天都会变化,$N$ 天的要求依次给定为 $L_1, L_2, \dots, L_N$。
在他烹饪完一道新菜肴后,他会在第二天去市场购买新的食材,并再次构思新的食谱。每天,他可以选择去市场购买食材、烹饪、或者为了设计食谱而什么都不做(也可以在购买食材的当天进行烹饪)。第一天,冰箱里没有任何食材,他会去市场购买一些食材。在第 $N$ 天,他必须进行烹饪并清空冰箱。让我们找出他烹饪的菜肴风味值总和的最大值。如果由于 Jaehyun 的特殊要求,无法在第 $N$ 天清空冰箱,则输出 “Impossible”(不包含引号)。
输入格式
输入包含四行。
第一行包含一个整数 $N$。
第二行包含 $N$ 个由空格分隔的整数 $F_1, F_2, \dots, F_N$。
第三行包含 $N$ 个由空格分隔的整数 $C_1, C_2, \dots, C_N$。
第四行包含 $N$ 个由空格分隔的整数 $L_1, L_2, \dots, L_N$。
输出格式
输出 Jaemin 烹饪的菜肴风味值总和的最大值。如果无法在第 $N$ 天清空冰箱,则输出 “Impossible”(不包含引号)。
说明/提示
### 数据范围
- $2 \le N \le 250,000$
- $0 < F_i \le 50,000$
- $0 < C_1 \le \dots \le C_N \le 10,000$
- $0 \le L_i \le 50,000$
翻译由 DeepSeek V3.2 完成