#P7046. [USACO][2009][OPEN][G] Work Scheduling
[USACO][2009][OPEN][G] Work Scheduling
Description
Farmer John has so very many jobs to do! In order to run the farm
efficiently, he must make money on the jobs he does, each one of
which takes just one time unit.
His work day starts at time 0 and has 1,000,000,000 time units (!). He
currently can choose from any of N (1 <= N <= 100,000) jobs
conveniently numbered 1..N for work to do. It is possible but
extremely unlikely that he has time for all N jobs since he can
only work on one job during any time unit and the deadlines tend
to fall so that he can not perform all the tasks.
Job i has deadline (1 <= <= 1,000,000,000). If he finishes
job i by then, he makes a profit of (1 <= <= 1,000,000,000).
What is the maximum total profit that FJ can earn from a given list
of jobs and deadlines? The answer might not fit into a 32-bit
integer.
Description
Farmer John 有太多的工作要做啊!!!!!!!!为了让农场高效运转,他必须靠他的工作赚钱,每项工作花一个单位时间。 他的工作日从0时刻开始,有1000000000个单位时间(!)。在任一时刻,他都可以选择编号1~N的N(1 <= N <= 100000)项工作中的任意一项工作来完成。 因为他在每个单位时间里只能做一个工作,而每项工作又有一个截止日期,所以他很难有时间完成所有N个工作,虽然还是有可能。 对于第i个工作,有一个截止时间 (1 <= <= 1000000000),如果他可以完成这个工作,那么他可以获利 ( 1<= <=1000000000 ). 在给定的工作利润和截止时间下,FJ能够获得的利润最大为多少呢?答案可能会超过32位整型。
Format
Input
- Line 1: A single integer: N
- Lines 2..N+1: Line i+1 contains two space-separated integers: and
Output
- Line 1: A single number on a line by itself that is the maximum possible profit FJ can earn.
Samples
3
2 10
1 5
1 7
17
OUTPUT DETAILS:
Complete job 3 (1,7) at time 1 and complete job 1 (2,10) at time 2 to maximize the earnings (7 + 10 -> 17).