#P2692. 排列计数[CF1967A]
排列计数[CF1967A]
Description
[题意]你有$a_i$张写着$i$的卡片$(i∈[1,n])$。
现在你可以又从商店购买$k$张空白卡片,并且在这$k$张卡片上任意填上一个$[1,n]$中的整数。
定义一个序列是$n$好的,且仅当它长度为n且升序排序后是$1$到$n$的排列。
购买并填完$k$张卡片后,你需要重新将你的所有卡片排序,使得你的序列中的$n$好子段个数最多并求出它的个数。
接下来两个整数$n (1 \le n \le 2*10^5)$和$k (1 \le k \le 10^{12})$。
然后是$n$个整数,为你拥有的卡片信息$a_i (1 \le a_i \le 10^{12})$。
在一组数据中$n$的和不超过$5*10^5$。
[样例输入]
8
1 10
1
2 4
8 4
3 4
6 1 8
3 9
7 6 2
5 3
6 6 7 4 6
9 7
7 6 1 7 6 2 4 3 3
10 10
1 3 1 2 1 9 3 5 7 5
9 8
5 8 7 5 1 3 2 9 8
[样例输出]
11
15
15
22
28
32
28
36
[提示]
在第一组样例中:
购买后数列为[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]。
在第二组样例中:
购买后数列为[1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2]。
在第三组样例中:
购买后数列为[3, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 3]。
相关
在下列比赛中: