问题6943--最佳配对

6943: 最佳配对

[命题人 : ]
时间限制 : 1.000 sec  内存限制 : 256 MiB

题目描述

【题目描述】

农民约翰发现,当附近有另一头奶牛提供精神支持时,他的奶牛都更容易挤奶。因此,他想把他的M头奶牛(M1,000,000,000M为偶数)分成M/2对。然后,每一对奶牛将被引导到谷仓中单独的牛栏中挤奶。这些M/2隔间的挤奶将同时进行。

让事情变得有点复杂的是,农夫约翰的每头奶牛都有不同的产奶量。如果产奶量AB的奶牛配成对,那么总共需要A+B个单位的时间来为它们挤奶。

请帮助农民约翰确定完成整个挤奶过程所需的最短时间,假设他以最佳方式将奶牛配对。

【输入格式】(pairp.in):

第一行输入包含N(1N100,000)。接下来的N行每一行都包含两个整数xy,表示FJx头奶牛,每头奶牛的产奶量为y(1y1,000,000,000)x的和是M,即牛的总数。

【输出格式】(pairup.out):

输出FJ的奶牛挤奶所需的最短时间,假设它们是最佳配对。

【样例输入】:

3

1 8

2 5

1 2

【样例输出】:

10

【样例说明】

在这里,如果产量为8+2的奶牛被配对,产量为5+5的奶牛被配对,那么两个栏都需要10个单位的时间来挤奶。由于挤奶是同时进行的,因此整个过程将在10个单位时间后完成。任何其他配对都不是最优的,会导致奶棚需要超过10个单位的时间来挤奶。

来源/分类