#P9461. 「EZEC-14」众数 II

    ID: 8546 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 难度: 5 上传者: 标签>洛谷原创O2优化洛谷月赛链表单调栈

「EZEC-14」众数 II

题目背景

dXqwq 是一个不可爱的男孩子。他在 NOI2022 中的众数一题定义了 10610^6std::deque 并成功 MLE。

题目描述

给定一个长度为 nn 的序列 aa,我们通过以下方式构造序列 bb

  • 初始时 bb 为空序列。
  • 对于 i=1,2,,ni=1,2,\cdots,n,我们依次向 bb 的尾部插入 1,2,,ai1,2,\cdots,a_i

dXqwq 定义一个序列的最小众数为所有出现次数最大的数的最小值。例如 [1,1,4,5,1,4][1,1,4,5,1,4] 的最小众数为 11,而 [1,14,5,14,19,19,8,10][1,14,5,14,19,19,8,10] 的最小众数为 1414

你需要求出 bb 的每个子区间的最小众数的和。由于答案可能很大,你只需要输出它对 998244353998244353 取模后的值。

输入格式

第一行输入一个整数 nn

第二行输入 nn 个整数 aia_i

输出格式

输出一个整数,代表 bb 的每个子区间的最小众数的和对 998244353998244353 取模的值。

3
1 2 3
28
9
9 9 8 2 4 4 3 5 3
1912

提示

【样例解释】

在第一个样例中,b=[1,1,2,1,2,3]b=[1,1,2,1,2,3]

1515 个区间的最小众数为 1155 个区间的最小众数为 2211 个区间的最小众数为 33,因此答案为 15×1+5×2+1×3=2815\times 1+5\times 2+1\times 3=28

【提示】

10610^6std::deque 在空间限制为 512MB 时一定会 MLE。

【数据范围】

本题采用捆绑测试。

  • Subtask 1(10 pts):ai100\sum a_i\leq 100
  • Subtask 2(20 pts):ai103\sum a_i\leq 10^3
  • Subtask 3(20 pts):ai106\sum a_i\leq 10^6
  • Subtask 4(10 pts):n2n\leq 2
  • Subtask 5(20 pts):n103n\leq 10^3
  • Subtask 6(10 pts):ai2a_i\leq 2
  • Subtask 7(10 pts):无特殊限制。

对于 100%100\% 的数据,1n1061\leq n\leq 10^61ai1061\leq a_i\leq 10^6