题目描述
给定一个整数序列X1,X2,X3,...,Xn和三个正整数Q,A,B满足:
1≤Xi≤Q对于任意1≤i≤n
Xi≤Xi+1对于任意1≤i<n
A≤n−1Q−1且A≤B
对于任意1≤i≤n,作如下变换:Yi=Xi+Δi,其中Δi是一个整数。使得新序列Y满足如下性质:
1≤Yi≤Q对于任意1≤i≤n
Yi+1−Yi∈[A,B]对于任意1≤i<n
对于这样一个变换,所需的变换代价定义为:
TransformCost(X,Y)=i=1∑n∣Δi∣
本题的任务即为寻找一个变换,使得TransformCost(X,Y)最小化。
输入格式
第一行四个整数n,Q,A,B
第二行n个整数Xi
输出格式
一行一个整数,最小的TransformCost(X,Y)
样例
输入
3 6 2 2
1 4 6
输出
1
数据范围与提示
可以将序列变换为2 4 6
或者1 3 5
。前者变换代价为1,后者为2。因此最小TransformCost为1。
对于10的数据,N≤100,Q≤10000,1≤A,B≤100。
对于30的数据,N≤10000,Q≤10000,1≤A,B≤100。
对于60的数据,N≤10000,Q≤109,1≤A,B≤Q。
对于100的数据,N≤500000,Q≤109,1≤A,B≤Q。