#B3723. [语言月赛202303] Coin Selection G

[语言月赛202303] Coin Selection G

题目描述

Farmer John 和 Bessie 正在一起玩硬币选择游戏。

初始时桌面上有 nn 枚硬币,每枚硬币有一个面额,我们使用 a1,a2,⋯ ,ana _ 1, a _ 2, \cdots, a _ n 分别代表第 1,2,⋯ ,n1, 2, \cdots, n 枚硬币的面额。

他们还各有一个属于自己的钱包,初始时,钱包都是空的。

从 Farmer John 开始,双方轮流操作。每次操作中,当前的操作者会从桌面上剩余的硬币中选择面值不超过当前自己钱包中硬币的总面额的硬币中面额最大的一枚硬币,把它从桌子上拿走,放到自己的钱包里。如果桌面上剩余的所有硬币面值都超过了自己钱包里已有硬币的总面额,那么选择剩余的所有硬币中面额最小的一个。

当桌面上没有硬币时,游戏结束。

请你分别求出, 游戏结束后,Farmer John 和 Bessie 钱包里硬币的总面额。

输入格式

第一行为一个整数,代表初始时桌面上的硬币的数量 nn。
第二行为 nn 个整数 a1,a2,⋯ ,ana _ 1, a _ 2, \cdots, a _ n,分别代表第 1,2,⋯ ,n1, 2, \cdots, n 枚硬币的面额。

输出格式

输出共一行两个整数,第一个整数表示 Farmer John 最终钱包里的总面额,第二个整数表示 Bessie 最终钱包里硬币的总面额,两个整数之间使用一个空格隔开。

2
3 2
2 3
5
1 2 3 4 5
9 6

提示

样例 1 解释

Farmer John 开始时「自己钱包中硬币的总面额」为 00,小于桌面上的任何一枚硬币,因此他只能选择剩下的所有硬币中面值最小的一个,为 22。

接下来 Bessie「自己钱包中硬币的总面额」为 00,小于桌面上的任何一枚硬币,因此只能选择剩下的所有硬币中面值最小的一个,为 33。

数据规模与约定

  • 对 20%20\% 的数据,保证 n≤2n \leq 2。
  • 另有 20%20\% 的数据,保证 ai=1a_i = 1。
  • 对 60%60\% 的数据,保证 n≤100n \leq 100。
  • 对 100%100\% 的数据,保证 1≤n≤1031 \leq n \leq 10^3,1≤ai≤10161 \leq a_i \leq 10^{16}。

provider:一扶苏一