#GQ05C. 2026年国庆模拟赛第5场-T3 程老师的周转交接

2026年国庆模拟赛第5场-T3 程老师的周转交接

项目 说明
文件名 stock
输入文件 stock.in
输出文件 stock.out
时间限制 1000 ms
内存限制 512 MB
测试点数目 20(等分)

题目描述

教具仓库与 nn 个班组有固定的交接顺序:第 1 个班组先来,第 2 个班组随后,一直到第 nn 个班组。每个班组来时与仓库做一次交接,交接量记为 aia_i:ai>0a_i > 0 表示该班组向仓库存入 aia_i 件教具,ai<0a_i < 0 表示从仓库取走 −ai-a_i 件,ai=0a_i = 0 表示该班组本次不交接。

仓库有一条硬规矩:任意时刻库存不能为负,取走时若库存不足就无法完成。因此,如果交接是从第 ii 个班组才开始的(前面的第 1∼i−11 \sim i-1 个班组都跳过),老师需要在这场交接开始之前预先备好若干件教具放在仓库里。

老师想做一个盘点:对每个 i=1,2,…,ni = 1, 2, \dots, n,分别计算"从第 ii 个班组开始交接"所需的最少预存量。预存发生在从第 ii 个班组开始的这场交接之前,且第 ii 个班组本身的这次交接也要满足库存不为负。

输入格式

从文件 stock.in 中读入数据。

第一行一个正整数 nn。

第二行 nn 个整数 a1,a2,…,ana_1, a_2, \dots, a_n,相邻两个整数之间用一个空格隔开。

输出格式

输出到文件 stock.out 中。

一行 nn 个整数,第 ii 个整数表示从第 ii 个班组开始交接所需的最少预存量,相邻两个整数之间用一个空格隔开。

数据范围

对于所有测试数据,保证:1≤n≤1051 \le n \le 10^5,∣ai∣≤106|a_i| \le 10^6。

测试点 n≤n \le 特殊性质
1~3 100100 无
4~6 25002500
7~10 9×1049 \times 10^4
11~16 10510^5
17~18
19 A
20 B

特殊性质 A:每个班组的交接量都为负(即每个班组都在取走教具)。

特殊性质 B:恰好有一个班组的交接量为负,其余班组的交接量都非负。

4
3 -5 2 -4
4 7 2 4
3
2 3 4
0 0 0

样例解释

样例 1:从第 1 个班组开始,交接后库存依次为 3,−2,0,−43, -2, 0, -4,最低跌到 −4-4,需要预存 44 件。从第 2 个班组开始,库存依次为 −5,−3,−7-5, -3, -7,最低 −7-7,需要预存 77 件。从第 3 个班组开始,库存依次为 2,−22, -2,需要预存 22 件。从第 4 个班组开始,库存为 −4-4,需要预存 44 件。

样例 2:每个班组都在存入,无论从哪个班组开始,库存只增不减,任何一场都不需要预存。

难度 未评定
通过率 20.5%
尝试 39
通过 8
ID
3879
类型
传统题
Time Limit
1000ms
Memory Limit
512MiB
上传者

相关