题目名称 | 3977. 神奇的宝物 |
---|---|
输入输出 | treasure.in/out |
难度等级 | ★★ |
时间限制 | 1000 ms (1 s) |
内存限制 | 512 MiB |
测试数据 | 10 |
题目来源 | syzhaoss 于2024-05-25加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:16, 提交:56, 通过率:28.57% | ||||
┭┮﹏┭┮ | 100 | 0.054 s | 10.63 MiB | C++ |
dustsans | 100 | 0.169 s | 4.55 MiB | C++ |
syzhaoss | 100 | 0.188 s | 4.55 MiB | C++ |
pcx | 100 | 0.202 s | 4.55 MiB | C++ |
chenbp | 100 | 0.287 s | 2.08 MiB | C++ |
1nclude | 100 | 0.289 s | 4.17 MiB | C++ |
dustsans | 100 | 0.334 s | 4.82 MiB | C++ |
snow | 100 | 0.607 s | 4.82 MiB | C++ |
澜 | 100 | 0.608 s | 4.82 MiB | C++ |
snow | 100 | 0.640 s | 4.82 MiB | C++ |
关于 神奇的宝物 的近10条评论(全部评论) | ||||
---|---|---|---|---|
我的代码有一定的bug,但是是对的;
在正确思路下,最后输出时,不应有max和min的使用,应直接输出; 希望有高人指点斧正 谢谢 |
曾经有一位勇敢的寻宝者来到了一座岛屿,可是在岛屿上没有发现任何宝物。
后来又有两位寻宝者来到了这座岛屿,却发现岛屿上有很多宝物,但是这些宝物却有着神奇的价值。
岛屿上有$n$种宝物,每种宝物只有两件(所以只有两个寻宝者来的时候才能看见),两位寻宝者轮流取宝物,每个宝物每个人只能取一次。
神奇的是,第$i$种宝物先取的人获得的价值为$a_i$,后取的人获得的价值为$b_i$。两位寻宝者都想自己获得的价值最大,他们都学过中国一句俗话“先下手为强”,于是为了谁先下手取宝物争论不休,你能帮他们计算出先下手和后下手获得的总价值吗?
第一行一个整数$n$,表示宝物的种类。
接下来$n$行,每行有两个空格隔开的整数$a_i,b_i$,分别表示第$i$种宝物先取和后取的价值。
一行两个整数,表示先下手获得的总价值和后下手获得的总价值。
2 2 1 5 3
6 5
不妨设这两个人为A和B,让A先下手。
对于样例$1$,A首先取第$2$件宝物,获得价值$5$,那么B为了自己利益最大化,取第$1$件宝物,获得价值$2$,那么接下来A只能取第$1$件宝物,获得价值$1$,最后B只能取第$2$件宝物,获得价值$3$。
5 9 7 10 5 10 1 6 5 7 6
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年校际联合邀请赛 普及组-第2场 Task2