#z1085. 抢修走廊
抢修走廊
题目描述
一条走廊上从左到右排列着 个站点。第 个站点的开启难度为正整数 ,物资量为正整数 。
对于一次需求量为 的询问,你需要求出最小的非负整数 ,使得可以完成以下选择:
- 选择一个连续区间 ,其中 ;
- 可以在区间内抢修至多一个站点 ;
- 除被抢修的站点外,区间内每个站点 都必须满足 ;
- 被抢修的站点不受其开启难度限制,并且它的物资量仍计入收集量;
- 区间内所有站点的物资量之和至少为 。
你也可以不抢修任何站点,此时区间内所有站点都必须满足 。
每次询问彼此独立,询问不会改变任何站点。
输入格式
从文件 corridor.in 中读取数据。
第一行包含两个正整数 ,分别表示站点数和询问数。
第二行包含 个正整数 。
第三行包含 个正整数 。
接下来 行,每行包含一个正整数 ,表示一次询问的需求量。
输出格式
输出到文件 corridor.out 中。
输出 行。对于每次询问,输出一个整数,表示满足要求的最小非负整数 。
样例
5 5
2 5 2 5 2
3 4 5 6 7
7
8
18
19
25
0
2
2
5
5
6 5
4 1 6 2 5 3
2 2 2 2 2 2
2
3
5
7
10
0
1
2
4
5
样例解释
样例 #1 中,当 时,可以只选择并抢修第 个站点,收集 单位物资。当 时,抢修第 个站点并选择区间 ,可以收集 单位物资;但此时一次选择无法收集至少 单位物资。当 时可以选择整条走廊。
样例 #2 中,当 依次为 时,一次选择最多能收集的物资量依次为 ,由此得到各次询问的答案。
数据规模与约定
对于所有数据,保证:
- ;
- 对于所有 ,;
- 对于每次询问, 且 。
本题采用子任务捆绑计分。每个子任务内的所有测试点均通过,才能获得该子任务的分数;各子任务独立计分。
| 子任务编号 | 分值 | 额外约束 |
|---|---|---|
| 无特殊限制 |
相关
在下列比赛中: