塔塔携带一件价值为x的礼物参加了一个节日派对。除多多外在场的有n个人,第i个人的当前持有的礼物价值为ai。
塔塔可以和任意当前持有礼物价值比塔塔低的人交换礼物。
请问最少经过多少次交换,可以使得n个人持有的礼物价值形成单调不减的数列。
(a1≤a2≤...≤an)
第一行输入两个数字n和x,x代表人数、和塔塔最多持有的礼物价值。
第二行n个数字a1,a2,...an,代表其他所有人最初持有的礼物价值
对于60%的数据,1≤n≤103
对于100%的数据,1≤n≤2∗106,1≤x,ai≤109
输出一个数字,代表为了达成目标最少进行的交换次数。
如果无法达成目标则输出−1
输入
5 5
2 1 3 2 4
输出
3
说明
最初塔塔的礼物价值为5
第1次选择和第5个人交换。交换后塔塔的礼物价值为4,其他人为{2,1,3,2,5}
第2次选择和第4个人交换。交换后塔塔的礼物价值为2,其他人为{2,1,3,4,5}
第3次选择和第2个人交换。交换后塔塔的礼物价值为1,其他人为{2,2,3,4,5}
扫码备注加群即可,期待您的到来~
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.