B. 文物修复

    传统题 文件IO:fix 1000ms 256MiB

文物修复

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目背景

在市中心的古籍修复室里,静静存放着 N N 件待修复的珍贵文物,每件文物都因受损程度不同,标注着对应的修复难度评分 Di D_i 。要成功修复一件文物,你的修复工具熟练度必须至少达到该文物的难度评分 —— 可刚接手任务时,你的工具熟练度还处于初始的 0 0 分状态,想要让所有文物重焕光彩,得好好规划每天的修复节奏。

题目描述

  • 在所有文物修复完成前,你的每天都会按固定流程推进:
    • 每天清晨,你有两种方式调整工具熟练度:

      • 选择 “工具校准”:花费时间仔细模拟使用修复工具,让工具熟练度直接提升 x x 分;

      • 选择 “工具保养”:简单清洁工具以延长使用寿命,但工具熟练度会随之降低 x x 分(熟练度甚至可能变成负数)。

    • 每天下午,在完成清晨的工具调整后,你可以挑选一件文物尝试修复,但有个关键前提:此时你的工具熟练度必须大于或等于这件文物的难度评分 Di D_i ,否则无法开展修复工作,当然也可以选择下午偷懒不修复。

你并不着急赶工期,不在乎总共需要多少天完成修复,但特别喜欢 “工具保养” 时的轻松状态,所以核心目标是:尽可能减少清晨选择 “工具校准” 的次数,用最少的校准次数,完成所有文物的修复任务。现在需要你规划好工具校准、保养和文物修复的顺序,找出修复所有文物所需的最少 “工具校准” 次数。

输入格式

输入两行内容。

  • 第一行包含两个整数 N,x N,x ,分别代表待修复的文物总数、每次 “工具校准” 提升的熟练度分值或每次 “工具保养” 降低的熟练度分值。

  • 第二行包含 N N 个整数,描述每件文物的修复难度水平,其中第 i i 个整数代表第 i i 件文物的难度评分 Di D_i

输出格式

输出一个整数,代表修复所有 N N 件文物所需的最少 “工具校准” 早晨次数。

样例输入1

5 2
5 3 7 1 3

样例输出1

4

样例输入2

4 3
5 9 10 2 

样例输出2

4 

样例输入3

10 1
8 5 1 3 6 9 5 4 2 2  

样例输出3

9 

提示

对于10%数据,满足 1n10 1 \leq n \leq 10

对于60%数据,满足 1n103 1 \leq n \leq 10^3

对于100%数据,满足 1n,x,Di105 1 \leq n , x , D_i \leq 10^5

sample.in sample.out