CF2101C.23 Kingdom

提高+/省选-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

我们定义 dx(c)d_x(c) 为整数 xx 在数列 cc 中的距离,也就是 cc 中出现的两个 xx 之间的最长间隔。若 xx 出现的次数不足两次则为零。

形式化地,dx(c)=max⁡1≤i<j≤∣c∣∧ci=cj=x(j−i)d_x(c)=\max\limits_{1\le i<j\le\vert c\vert\wedge c_i=c_j=x}(j-i)。

定义一个数列 cc 的美丽度为 ∑i=1ndi(c)\sum\limits_{i=1}^n d_i(c)。

给你一个长为 nn 的数列 aa,你将构造一个长为 nn 的数列 bb,要求每一项均满足 1≤bi≤ai1\le b_i\le a_i。求这样的 bb 的最大美丽度。你需要求出这个值。

输入格式

多组数据,第一行一个整数 t(1≤t≤104)t(1\le t\le 10^4) 表示数据组数。

对于每组数据:
第一行一个整数 n(1≤n≤2×105)n(1\le n\le 2\times 10^5)。
第二行 nn 个整数 a1,a2,⋯ ,an(1≤ai≤n)a_1,a_2,\cdots,a_n(1\le a_i\le n)。

保证单个测试点中 ∑n≤2×105\sum n\le 2\times 10^5。

输出格式

每组数据输出一行一个整数,表示答案。

输入输出样例

  • 输入#1

    4
    4
    1 2 1 2
    2
    2 2
    10
    1 2 1 5 1 2 2 1 1 2
    8
    1 5 2 8 4 1 4 2

    输出#1

    4
    1
    16
    16

说明/提示

样例解释

第一组数据中,令 b=(1,2,1,2)b=(1,2,1,2),d1(b)=3−1=2,d2(b)=4−2=2d_1(b)=3-1=2,d_2(b)=4-2=2,美丽度为 44。可以证明这个可能的最大的美丽值。

第二组数据中,令 b=(1,1)b=(1,1) 或 b=(2,2)b=(2,2) 均可得到 11 的美丽值。

第三组数据中,令 b=(1,2,1,4,1,2,1,1,1,2)b=(1,2,1,4,1,2,1,1,1,2),则有 d1(b)=9−1=8,d2(b)=10−2=8,d4(b)=0d_1(b)=9-1=8,d_2(b)=10-2=8,d_4(b)=0,可以获得 1616 的美丽值。

By @chenxi2009

输入解题思路,AI测评打分。不知道怎么写?

首页