SP2185 MUSIC - Musical Optimization

题目描述

贝茜是一头会写音乐旋律的奶牛。我们将一段音乐旋律表示为一个包含 $N$($1 \le N \le 100,000$)个音符的序列,音符按顺序编号为 $1$ 到 $N$。每个音符 $i$ 用一个整数 $A_i$ 表示,其中 $-10,000 \le A_i \le 10,000$。 在贝茜的视角中,当一段旋律的每个连续子串的音符之和都严格大于零时,才可以称这段旋律为「完美」。 现在,贝茜希望将一段给定的旋律变得完美,并且她想尽量少地改变旋律。 为此,她会反复选择一个连续子串 $[x, y]$($1 < x \le y < N$),如果该子串的和 $S$ 为负数,她将 $S$ 加到 $A_{x-1}$ 和 $A_{y+1}$ 上,同时从 $A_x$ 和 $A_y$ 中减去 $S$。(如果 $x = y$,可能会对同一个音符重复操作。) 给定一段音乐旋律,计算最少需要多少步操作可以让旋律变得完美。如果无法实现,则输出 -1。

输入格式

* 第 1 行:一个整数 $N$。 * 第 2 到 $N+1$ 行:每行包含一个整数 $A_i$,表示音符的值。

输出格式

* 仅一行:输出一个整数,表示将音乐旋律变得完美所需的最小步骤数。如果无法实现,输出 -1。

说明/提示

$1 \le N \le 100,000$ $-10,000 \le A_i \le 10,000$ **本翻译由 AI 自动生成**