#B3628. 机器猫斗恶龙

机器猫斗恶龙

B3628 机器猫斗恶龙

  • 题号:B3628
  • 难度:普及−(2)
  • 标签:贪心、二分、前缀和
  • 时间限制:1000 ms
  • 内存限制:128 MB
  • 样例数:2
  • 提交 / 通过:37229 / 15948
  • 抓取时间:2026-11-11T08:52:00.167Z
  • 正文来源:problem.content(zh-CN)

题目描述

机器猫出门斗恶龙了!他需要通过 nn 个关卡。

每个关卡要么是与怪物战斗,扣除一定的血量;要么是营地,给机器猫增加一定的血量。

在旅途中,机器猫任意时刻的血量不能低于或等于 00。问机器猫至少需要多少的初始血量,才能完成任务。

血量为正整数。

输入格式

第一行,一个正整数 nn,表示关卡数量。

第二行,共 nn 个整数 aia_i,表示每个关卡。

  • 若 ai>0a_i>0,则表示这个关卡是营地,增加 aia_i 的血量
  • 若 ai<0a_i<0,则表示这个关卡是战斗,机器猫血量代价为 aia_i

输出格式

仅一行,一个正整数,表示机器猫需要的初始血量。

样例

样例 1 输入

3
-100 -200 -300

样例 1 输出

601

样例 2 输入

5
-200 -300 1000 -100 -100

样例 2 输出

501

提示

样例解释

第二组样例:机器猫带着 501501 点血量出门,两场战斗之后剩下 11,恢复到 10011001,两场战斗之后为 801801,完成任务。

数据规模与约定

对于 100%100\% 的数据,n≤100000,1≤∣ai∣≤1000n\leq 100000, 1\leq |a_i|\leq 1000。


由 fetch_luogu_statements.mjs v1.0.0 自动抓取生成;原始数据见 json/B3628.json。