懒人的工作

JackBurd 2012-12-18 09:01:52
问题描述
小明是一个懒人,他每天上班前都会接到当天要完成的全部工作列表,每个工作任务由一个开始时间和一个持续时间构成。小明一天要工作N分钟,从第一分钟开始到第N分钟结束。当小明到达公司时他就立刻开始工作。如果同一时间有多个任务要完成,小明可以任选一个,而其余的由同事包办;反之如果只有一个任务就由小明完成。假如某些工作的开始时间在小明正在工作时,则这些工作由他的同事完成。如某工作在第P分钟开始,持续时间为T分钟,则该工作在第P+T分钟结束。写一个程序计算小明应该如何选择任务才能得到最大的空闲时间。

输入文件(lazy.in)
输入数据第一行含两个用空格隔开的整数N和K(1≤N≤10000,1≤K≤10000),N表示小明的工作时间,单位为分钟,K表示任务总数。
接下来共有K行,每一行有2个用空格隔开的整数P和T,表示该任务从第P分钟开始,持续时间为T分钟,其中1≤P≤N,1≤P+T≤N。

输出文件(lazy.out)
输出文件只有一行,包含一个整数,表示小明可能得到的最大空闲时间。

样例输入
16 6
1 2
1 6
4 11
8 5
8 1
11 5

样例输出
4

最近在看动态规划的东西,稍微懂了一些。不过遇到这个问题感觉可以用到动态规划,但就是不知道公式怎么写,谁能告诉我一下?不胜感激。。。
...全文
254 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sxax 2012-12-19
  • 打赏
  • 举报
回复
菜鸟更是不明白了。
Monkey_D_Luffy 2012-12-19
  • 打赏
  • 举报
回复
没有什么人气,帮你顶一顶,免得沉了,我也不太会
Zoelov 2012-12-18
  • 打赏
  • 举报
回复
先mark一下

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧