问题 6083 --兔兔的不下降序列

6083: 兔兔的不下降序列★★★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 45  解决: 12
[提交][状态][命题人:]

题目描述

给定n与m,和一个由n个整数a[1],a[2]...,a[n]组成序列{a}。你可以对数列进行如下操作:
  • 选择一个整数k
  • 选择k个下标 i1,i2,…,ik(1≤i1<i2<…<ik≤n)
  • 对每个元素a[ij]改变为((a[i]+ 1)mod m).
上面的三步构成了一次操作。现在兔兔想知道,至少需要多少次操作,才能使序列{a}的元素不下降。

输入

第一行为2个整数 n与m(1≤n,m≤300000)。
第二行为n个整数a1,a2...,an(0≤ai<m)。

输出

一个整数,表示使序列{a}的元素不下降所需的最少操作次数。
样例输入
Copy
5 3
0 0 0 1 2
样例输出
Copy
0

提示

测试样例2
输入:
5 7
0 6 1 3 2
输出:
1

在测试样例1中,输入的序列已经是不下降序列,因此答案为0;
在测试样例2中,选择k=2,i1=2,i2=5。经过本次操作后序列变为[0,0,1,3,3],这已经是一个不下降序列。

来源

 

[提交][状态]