CF2045I.Microwavable Subsequence
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个整数数组 [A1,A2,…,AN],数组长度为 N。
从数组中移除零个或多个元素,并保持剩余元素的顺序不变,就可以得到一个子序列。例如,[2,1,2]、[3,3]、[1] 和 [3,2,1,3,2] 都是数组 [3,2,1,3,2] 的子序列,而 [1,2,3] 不是。
如果某个子序列最多只包含两种不同的数,并且相邻元素不相同,则称为“微波炉”子序列。例如,[2,1,2]、[3,2,3,2] 以及 [1] 是微波炉子序列,而 [3,3] 和 [3,2,1,3,2] 则不是。
函数 f(x,y) 表示数组 A 中元素仅为 x 或 y 的最长微波炉子序列的长度。请计算所有满足 1≤x<y≤M 的 f(x,y) 之和。
输入格式
第一行输入两个整数 N 和 M,满足 1≤N,M≤300,000。
第二行包含 N 个整数 Ai,其中 1≤Ai≤M。
输出格式
输出一个整数,即所有满足 1≤x<y≤M 的 f(x,y) 的总和。
输入输出样例
输入#1
5 4 3 2 1 3 2
输出#1
13
输入#2
3 3 1 1 1
输出#2
2
说明/提示
样例解释 1
f(1,2) 的值为 3,可以从序列中去掉 A1 和 A4,得到子序列 [2,1,2]。f(1,3) 的值为 3,通过去除 A2 和 A5,得到子序列 [3,1,3]。f(2,3) 的值为 4,从序列中去除 A3,得到子序列 [3,2,3,2]。而 f(1,4)、f(2,4) 和 f(3,4) 的值均为 1。
样例解释 2
f(1,2) 和 f(1,3) 的值均为 1,而 f(2,3) 的值是 0。
本翻译由 AI 自动生成
输入解题思路,AI测评打分。不知道怎么写?