#2850. [USACO09OPEN] Work Scheduling G

[USACO09OPEN] Work Scheduling G

题目描述

约翰农场主有太多的工作要做啦!为了高效地经营农场,他必须从他所从事的工作中赚钱,每项工作都只需一个时间单位。

他的工作日从时间 0 开始,持续 1,000,000,000 个时间单位(!)。他目前可以选择从编号为 1..N 的 N(1≤N≤100,000)项工作中挑选工作。尽管有可能,但极其不可能他能完成所有 N 项工作,因为他每个时间单位只能做一项工作,而且截止时间往往设置得让他无法完成所有任务。

工作 i 有一个截止时间 (D_i)(1≤(D_i)≤1,000,000,000)。如果他在截止时间之前完成工作 i,他将获得 (P_i)(1≤(P_i)≤1,000,000,000)的利润。

给定一份工作和截止时间的清单,约翰农场主最多可以获得多少总利润?答案可能无法放入 32 位整数中。

输入格式

  • 第一行:一个整数 N。
  • 第 2..N+1 行:第 i+1 行包含两个由空格分隔的整数:(D_i) 和 (P_i)。

输出格式

  • 第一行:一个单独的数字,表示约翰农场主可以获得的最大可能利润。

输入输出示例 #1

输入 #1

3 
2 10 
1 5 
1 7

输出 #1

17

说明/提示

在时间 1 完成工作 3(1,7),在时间 2 完成工作 1(2,10),以最大化收入(7+10→17)。