#P9461. 「EZEC-14」众数 II

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

「EZEC-14」众数 II

背景

dXqwq 是一个不可爱的男孩子。他在 NOI2022 中的众数一题定义了 10610^6 个 std::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 个区间的最小众数为 11,55 个区间的最小众数为 22,11 个区间的最小众数为 33,因此答案为 15×1+5×2+1×3=2815\times 1+5\times 2+1\times 3=28。

【提示】

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

【数据范围】

本题采用捆绑测试。

  • Subtask 1(10 pts):∑ai≤100\sum a_i\leq 100。
  • Subtask 2(20 pts):∑ai≤103\sum a_i\leq 10^3。
  • Subtask 3(20 pts):∑ai≤106\sum a_i\leq 10^6。
  • Subtask 4(10 pts):n≤2n\leq 2。
  • Subtask 5(20 pts):n≤103n\leq 10^3。
  • Subtask 6(10 pts):ai≤2a_i\leq 2。
  • Subtask 7(10 pts):无特殊限制。

对于 100%100\% 的数据,1≤n≤1061\leq n\leq 10^6,1≤ai≤1061\leq a_i\leq 10^6。