已解决
Codeforces Round 901 (Div. 2) - B. Jellyfish and Game(思维 + 贪心)
来自网友在路上 169869提问 提问时间:2023-10-21 17:39:08阅读次数: 69
最佳答案 问答题库698位专家为你答疑解惑
选手A和选手B轮流进行k次操作:
1、把a数列中的一个值和b数列中的一个值进行交换
2、不进行任何操作
题目分为两种情况(结合代码看)
1、k为奇数:
(1) 如果a中最小值比b中最大值大,此时A不动。接下来不论选手B怎么拿,选手A总会回复原样
(2) 如果b中最大值比a中最小值大,此时A会拿b中最大的。接下来不论选手B怎么拿,选手A总会回复原样
2、k为偶数:
(1) 如果a中最小值仍大于b中最大值,此时A不动。但是此时B会拿走a中的最大值
(2) 如果a中最小值比b中最大值小,说明此时最优可以交换。 A把a中最小的(即min_a)和b中最大的(即max_b)交换后后。B会把此时b中最小的(即max(max_a,max_b))和此时a中最大的(即min(min_a,minb))交换
AC代码:
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define sf(x) scanf("%d", &x);
#define de(x) cout << x << " ";
#define Pu puts("");
const int N = 1e5 + 9, mod = 1e9 + 7;
ll a[N], b[N];
ll n, m, ans;
int main() {int T;cin >> T;ll k;// 存储a和b中的最大值、最小值ll max_a, min_a, max_b, min_b;while (T--) {cin >> n >> m >> k;max_a = max_b = 0;min_a = min_b = 1e9;ans = 0;for (int i = 1; i <= n; i++) {cin >> a[i];max_a = max(a[i], max_a);min_a = min(a[i], min_a);ans += a[i];}for (int i = 1; i <= m; i++) {cin >> b[i];max_b = max(b[i], max_b);min_b = min(b[i], min_b);}if (k % 2 == 0) { // 如果k为偶数if (min_a >= max_b) {// 如果a中最小值仍大于b中最大值,此时A不动// 但是此时B会拿走a中的最大值cout << (ans - max_a + min_b) << endl;// max_a为全局最大} else {// 如果a中最小值比b中最大值小,说明此时最优可以交换// (这一行注释不用看,之前的错误思路)但不论选手A怎么拿,选手B总会回复原样// A把a中最小的(即min_a)和b中最大的(即max_b)交换后后// B会把此时b中最小的(即max(max_a,max_b))和此时a中最大的(即min(min_a,minb))交换cout << (ans - min_a + max_b - max(max_a, max_b) + min(min_a, min_b)) << endl;}} else {if (min_a >= max_b) {// 如果a中最小值比b中最大值大,此时A不动// 接下来不论选手B怎么拿,选手A总会回复原样cout << ans << endl;// max_a为全局最大} else {// 如果b中最大值比a中最小值大,此时A会拿b中最大的// 接下来不论选手B怎么拿,选手A总会回复原样cout << (ans - min_a + max_b) << endl;}}}return 0;
}
查看全文
99%的人还看了
相似问题
- pandas定位选取某列某指标最大值所在的行记录,比如月底
- java中基本数据类型的最大值最小值理解
- LeetCode Hot100之十:239.滑动窗口最大值
- 239.滑动窗口的最大值
- 【踩坑及思考】浏览器存储 cookie 最大值超过 4kb,或 http 头 cookie 超过限制值
- 寻找二维数组的最大值和对应下标 | C语言代码
- 【蓝桥杯选拔赛真题08】C++最大值最小值平均值 青少年组蓝桥杯C++选拔赛真题 STEMA比赛真题解析
- python:逐像素处理遥感数据时间序列数据(求时间序列最大值、最大值所对应的索引、最大值所在的时间)
- 面试算法44:二叉树中每层的最大值
- 【Python 千题 —— 基础篇】列表最大值
猜你感兴趣
版权申明
本文"Codeforces Round 901 (Div. 2) - B. Jellyfish and Game(思维 + 贪心)":http://eshow365.cn/6-20947-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!