P0845

[Usaco2008 Open]Cow Cars 奶牛飞车

[Usaco2008 Open]Cow Cars 奶牛飞车

编号为 11 到 NN 的奶牛各自驾驶一辆汽车,准备在牛德比亚的高速公路上行驶。高速公路共有 MM 条车道。

奶牛 ii 的最高速度为 SiS_i。为了避免发生碰撞,如果奶牛 ii 所在车道上有 KK 只奶牛位于她的前方,那么她的速度上限将降低 K×DK\times D,即变为

max⁡(Si−KD,0)。\max(S_i-KD,0)。

牛德比亚的交通法规规定,高速公路上行驶的汽车速度不得低于 LL。

你可以选择奶牛并安排她们所在的车道及前后顺序。请计算最多有多少只奶牛能够在高速公路上行驶。

输入格式

第一行输入四个整数 NN、MM、DD、LL,分别表示奶牛数量、车道数量、每有一辆前车时降低的速度,以及高速公路的最低限速。

接下来 NN 行,第 ii 行输入一个整数 SiS_i,表示奶牛 ii 的最高速度。

输出格式

输出一个整数,表示最多可以在高速公路上行驶的奶牛数量。

样例输入

3 1 1 5
5
7
5

样例输出

2

样例解释

共有 33 只奶牛、11 条车道,每有一只奶牛位于前方,速度上限就会降低 11,高速公路的最低限速为 55。

可以将一只最高速度为 55 的奶牛安排在前方,再将最高速度为 77 的奶牛安排在她后方。此时两只奶牛的速度上限分别为 55 和 66,均不低于最低限速,因此最多可以有 22 只奶牛在高速公路上行驶。

数据范围

  • 1≤M≤N≤5×1041\le M\le N\le 5\times 10^4;
  • 1≤Si≤1061\le S_i\le 10^6;
  • 0≤D≤5×1030\le D\le 5\times 10^3;
  • 1≤L≤1061\le L\le 10^6。

来源与许可

本题为 USACO 2008 Open 试题「Cow Cars 奶牛飞车」,题面与测试数据整理自 BZOJ。

样例 1

输入

3 1 1 5
5
7
5

输出

2