首页 > 试题广场 >

工作安排

[编程题]工作安排
  • 热度指数:2280 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解

小美是团队的负责人,需要为团队制定工作的计划,以帮助团队产出最大的价值。

每周团队都会有两项候选的任务,其中一项为简单任务,一项为复杂任务,两项任务都能在一周内完成。第i周,团队完成简单任务的价值为li,完成复杂任务的价值为hi。由于复杂任务本身的技术难度较高,团队如果在第i周选择执行复杂任务的话,需要在i-1周不做任何任务专心准备。如果团队在第i周选择执行简单任务的话,不需要提前做任何准备。

现在小美的团队收到了未来N周的候选任务列表,请帮助小美确定每周的工作安排使得团队的工作价值最大。


输入描述:

第一行为N(0≤N≤1000)

接下来的N行表示第1到N周两项候选任务的价值,第i行的格式为:li hi,其中 0 < li < 10000, 0< hi < 10000。



输出描述:

输出一个数字,表示小美团队在未来N周能产出的最大价值。

示例1

输入

4
10 5
1 50
10 5
10 1

输出

70
头像 gggone
发表于 2020-04-15 00:42:20
n=int(input()) task=[] for i in range(n): # 将每周的计划作为一个小列表,再加入到task列表中 task.append(list(map(int,input().split()))) # v中每个位置存放截止到当前周最大的价值量 v=[] 展开全文