#1165. 工作规划

    ID: 1165 传统题 1000ms 256MiB 尝试: 2 已通过: 2 难度: 普及 上传者: 标签>基础算法模拟二分贪心数学数据结构队列

工作规划

题目描述

MM 个任务需要在 NN 天内完成,每个任务需要 11 台机器工作 11 天来完成。每台机器每天最多只能完成 11 个任务。

如果一个任务在第 SS 天被提交,则它最多只能推迟 DD 天完成,即必须在第 SS 天到第 S+DS+D 天(包含两端)的某一天内完成。

请你计算:在保证每个任务都不会逾期完成的前提下,最少需要多少台机器?

输入格式

第一行包含三个整数 N,D,MN, D, M —— 分别表示总天数、每个任务最多可以推迟的天数,以及任务的总个数。

第二行包含 MM 个整数 t1,t2,,tMt_1, t_2, \dots, t_M —— 表示每个任务的提交天数。保证第 NDN-D 天之后不会有新任务提交(即所有任务最晚的截止时间都不会超过 NN)。

输出格式

输出一行,一个整数,表示按要求完成所有任务所需的最少机器数量。

样例输入 1

8 2 12 
1 2 4 2 1 3 5 6 2 3 6 4

样例输出 1

2

说明

数据范围

  • 对于 50%50\% 的数据,保证 1M1051 \le M \le 10^5
  • 对于 100%100\% 的数据,保证 1N1051 \le N \le 10^50D<N0 \le D < N1M1061 \le M \le 10^6
  • 保证 1tiND1 \le t_i \le N-D
  • 保证所有的输入数值均为整数。