货物 - 代码源竞赛平台

题目描述

有 nn 件货物排成一排,从左到右依次编号为 1,2,…,n1,2,\ldots,n。第 ii 件货物的颜色为 cic_i,所有颜色用 1,2,…,m1,2,\ldots,m 表示。

每次操作,你可以取走当前最左端或最右端的一件货物。你需要恰好进行 mm 次操作,使取走的货物中,每种颜色都恰好出现一次。

请求出满足要求的不同取法数量。两种取法不同,当且仅当最终取走的货物编号集合不同;取走货物的顺序不影响计数。

输入格式

第一行包含两个正整数 n,mn,m,分别表示货物数量和颜色种类数。

第二行包含 nn 个正整数 c1,c2,…,cnc_1,c_2,\ldots,c_n,其中 cic_i 表示第 ii 件货物的颜色。

输出格式

输出一个非负整数,表示满足要求的不同取法数量。

样例

5 3
1 2 2 1 3
2
3 3
2 1 3
1

样例解释

对于样例 11,满足要求的货物编号集合为 {1,2,5}\{1,2,5\} 和 {3,4,5}\{3,4,5\},共 22 种。以 {1,2,5}\{1,2,5\} 为例,按编号 1,2,51,2,5 或 5,1,25,1,2 的顺序取走货物,均属于同一种取法。

对于样例 22,需要取走全部 33 件货物,它们的颜色恰好各不相同。无论按什么顺序取走,最终取走的编号集合都是 {1,2,3}\{1,2,3\},因此只有 11 种取法。

数据规模

本题各子任务单独计分。须通过某子任务包含的所有测试点,方可获得该子任务的分数。

子任务编号 分数 n≤n\le
11 2020 2020
22 3030 20002000
33 5050 2×1052\times 10^5

对于 100%100\% 的数据,1≤m≤n≤2×1051\le m\le n\le 2\times 10^5,1≤ci≤m1\le c_i\le m。