时间限制:1s,空间限制:512MB
题目描述
有一座高n层的楼房,里面有一架电梯,电梯初始时停在第s层,电梯每秒至多可以走k层,即第一秒可以走到[s−k,s+k]中的任意一层。
现在有m个用户对电梯有需求,第i个用户会在第ti秒,第ai层按下电梯,此时若电梯和该用户处在同一层,则该用户会直接乘坐电梯(不考虑该用户进入电梯后对电梯运行的影响);否则若当前电梯停在第x层,该用户的满意度会下降∣ai−x∣∗bi,然后放弃乘坐电梯而去走楼梯。
小Y希望用户的满意度尽可能的高,所以希望你求出用户满意度的和最少会下降多少。
输入格式
输入文件名为elevator.in。
输入文件的第一行包含4个正整数n,m,s,k,表示楼高n层,有m个用户需求,电梯初始在s层,每秒至多可以走k层。
接下来的m行每行包含3个正整数ti,ai,bi,表示用户会在第ti秒,第ai层按下电梯,满意度下降系数为bi。
输出格式
输出文件名的elevator.out。
输出一个正整数表示满意度之和下降的最小值。
样例
样例1
输入数据:
4 2 1 1
1 3 5
2 4 8
输出数据:
13
数据范围与约定
对于20%的数据,满足n≤5, k≤m≤5, ti≤5。
对于40%的数据,满足n≤500, k≤m≤500, ti≤500。
对于60%的数据,满足n≤500, k≤m≤500。
对于100%的数据,满足1≤n≤5000, 1≤k≤m≤5000, ti≤109, 1≤bi≤109。