题目名称 3977. 神奇的宝物
输入输出 treasure.in/out
难度等级 ★★
时间限制 1000 ms (1 s)
内存限制 512 MiB
测试数据 10
题目来源 Gravatarsyzhaoss 于2024-05-25加入
开放分组 全部用户
提交状态
分类标签
排序 贪心
分享题解
通过:16, 提交:56, 通过率:28.57%
Gravatar┭┮﹏┭┮ 100 0.054 s 10.63 MiB C++
Gravatardustsans 100 0.169 s 4.55 MiB C++
Gravatarsyzhaoss 100 0.188 s 4.55 MiB C++
Gravatarpcx 100 0.202 s 4.55 MiB C++
Gravatarchenbp 100 0.287 s 2.08 MiB C++
Gravatar1nclude 100 0.289 s 4.17 MiB C++
Gravatardustsans 100 0.334 s 4.82 MiB C++
Gravatarsnow 100 0.607 s 4.82 MiB C++
Gravatar 100 0.608 s 4.82 MiB C++
Gravatarsnow 100 0.640 s 4.82 MiB C++
关于 神奇的宝物 的近10条评论(全部评论)
我的代码有一定的bug,但是是对的;
在正确思路下,最后输出时,不应有max和min的使用,应直接输出;
希望有高人指点斧正
谢谢
Gravatarsnow
2024-05-28 20:17 1楼

3977. 神奇的宝物

★★   输入文件:treasure.in   输出文件:treasure.out   简单对比
时间限制:1 s   内存限制:512 MiB

【题目背景】

曾经有一位勇敢的寻宝者来到了一座岛屿,可是在岛屿上没有发现任何宝物。

后来又有两位寻宝者来到了这座岛屿,却发现岛屿上有很多宝物,但是这些宝物却有着神奇的价值。

【题目描述】

岛屿上有$n$种宝物,每种宝物只有两件(所以只有两个寻宝者来的时候才能看见),两位寻宝者轮流取宝物,每个宝物每个人只能取一次。

神奇的是,第$i$种宝物先取的人获得的价值为$a_i$,后取的人获得的价值为$b_i$。两位寻宝者都想自己获得的价值最大,他们都学过中国一句俗话“先下手为强”,于是为了谁先下手取宝物争论不休,你能帮他们计算出先下手和后下手获得的总价值吗?

【输入格式】

第一行一个整数$n$,表示宝物的种类。

接下来$n$行,每行有两个空格隔开的整数$a_i,b_i$,分别表示第$i$种宝物先取和后取的价值。

【输出格式】

一行两个整数,表示先下手获得的总价值和后下手获得的总价值。

【样例1输入】

2
2 1
5 3

【样例1输出】

6 5

【样例1说明】

不妨设这两个人为A和B,让A先下手。

对于样例$1$,A首先取第$2$件宝物,获得价值$5$,那么B为了自己利益最大化,取第$1$件宝物,获得价值$2$,那么接下来A只能取第$1$件宝物,获得价值$1$,最后B只能取第$2$件宝物,获得价值$3$。

【样例2输入】

5
9 7
10 5
10 1
6 5
7 6

【样例2输出】

36 30

【数据规模与约定】

对于$30\%$的数据,$n \leq 2$。

对于另外$20\%$的数据,$a_i = b_i$。

对于$100\%$的数据,$n \leq 100000,1 \leq b_i\leq a_i \leq 10^9$ 。

【来源】

2024年校际联合邀请赛 普及组-第1场 Task2