#P10798. 「CZOI-R1」消除威胁

    ID: 11431 远端评测题 500ms 512MiB 尝试: 0 已通过: 0 显示难度普及+/提高− 上传者: 标签>贪心O2优化ST 表单调栈

「CZOI-R1」消除威胁

背景

本题数据已修复。

题目描述

给定一个序列 {An}\{A_n\}。

我们称序列 AA 中的一个区间 [l,r][l,r] 具有威胁,当且仅当 1≤l<r≤n1\le l<r\le n 且 Al=ArA_l=A_r,且 ∀i∈[l,r]\forall i\in[l,r] 满足 ∣Ai∣≤∣Al∣|A_i|\le|A_l|。

你可以操作 AA 任意次,每次操作选择一个 AiA_i 修改为 −Ai-A_i。请问最后序列 AA 中具有威胁的不同区间最少有多少个?

两个区间 [l1,r1][l_1,r_1] 和 [l2,r2][l_2,r_2] 不同,当且仅当 l1≠l2l_1 \ne l_2 或 r1≠r2r_1 \ne r_2。

输入格式

第一行一个整数 nn ,表示 AA 的长度。

第二行 nn 个整数,表示 {An}\{A_n\}。

输出格式

第一行一个正整数,表示最少的具有威胁的区间个数。

8
3 2 1 2 3 -1 3 3
2

提示

【数据范围】

本题采用捆绑测试。

  • Subtask #1(10 pts10\text{ pts}):n≤10n\le10。
  • Subtask #2(10 pts10\text{ pts}):n≤103n\le10^3。
  • Subtask #3(10 pts10\text{ pts}):∣Ai∣≤60|A_i|\le60。
  • Subtask #4(10 pts10\text{ pts}):∣Ai∣|A_i| 均相等。
  • Subtask #5(20 pts20\text{ pts}):n≤105n\le10^5。
  • Subtask #6(40 pts40\text{ pts}):无特殊限制。

对于 100%100\% 的数据,1≤n≤5×1051\le n\le5\times10^5,∣Ai∣≤109|A_i|\le10^9。