文章目录

  • 一、B. Two Arrays And Swaps
  • 总结

一、B. Two Arrays And Swaps

本题链接:Two Arrays And Swaps

题目

B. Two Arrays And Swaps

time limit per test1 second
memory limit per test256 megabytes
inputstandard input
outputstandard output

You are given two arrays a and b both consisting of n positive (greater than zero) integers. You are also given an integer k.

In one move, you can choose two indices i and j (1≤i,j≤n) and swap ai and bj (i.e. ai becomes bj and vice versa). Note that i and j can be equal or different (in particular, swap a2 with b2 or swap a3 and b9 both are acceptable moves).

Your task is to find the maximum possible sum you can obtain in the array a if you can do no more than (i.e. at most) k such moves (swaps).

You have to answer t independent test cases.

Input
The first line of the input contains one integer t (1≤t≤200) — the number of test cases. Then t test cases follow.

The first line of the test case contains two integers n and k (1≤n≤30;0≤k≤n) — the number of elements in a and b and the maximum number of moves you can do. The second line of the test case contains n integers a1,a2,…,an (1≤ai≤30), where ai is the i-th element of a. The third line of the test case contains n integers b1,b2,…,bn (1≤bi≤30), where bi is the i-th element of b.

Output
For each test case, print the answer — the maximum possible sum you can obtain in the array a if you can do no more than (i.e. at most) k swaps.

Example
input
5
2 1
1 2
3 4
5 5
5 5 6 6 5
1 2 5 4 3
5 3
1 2 3 4 5
10 9 10 10 9
4 0
2 2 4 3
2 4 2 3
4 4
1 2 2 1
4 4 5 4
output
6
27
39
11
17

Note
In the first test case of the example, you can swap a1=1 and b2=4, so a=[4,2] and b=[3,1].

In the second test case of the example, you don’t need to swap anything.

In the third test case of the example, you can swap a1=1 and b1=10, a3=3 and b3=10 and a2=2 and b4=10, so a=[10,10,10,4,5] and b=[1,9,3,2,9].

In the fourth test case of the example, you cannot swap anything.

In the fifth test case of the example, you can swap arrays a and b, so a=[4,4,5,4] and b=[1,2,2,1].

本博客给出本题截图

题意:一共t组测试,每组测试包括n(数组长度),k(最多交换次数),每次最多可以交换k次(a数组和b数组),求交换后数组a中元素总和最大是多少

AC代码

#include <iostream>
#include <algorithm>using namespace std;const int N = 35;int a[N], b[N];int main()
{int t;cin >> t;while (t -- ){int n, k;cin >> n >> k;for (int i = 0; i < n; i ++ ) cin >> a[i];for (int i = 0; i < n; i ++ ) cin >> b[i];sort(a, a + n);sort(b, b + n);int j = n - 1;for (int i = 0; i < k; i ++ ){if (a[i] >= b[j]) break;swap(a[i], b[j --]);}int res = 0;for (int i = 0; i < n; i ++ )res += a[i];cout << res << endl;}return 0;
}

总结

水题,不解释

Two Arrays And Swaps相关推荐

  1. Two Arrays And Swaps CodeForces - 1353B(贪心+分类)

    题意: 给定两个数组,你可以交换 k 次 两个数组的元素,问最后 a 数组的和最大可以是多少? 题目: You are given two arrays a and b both consisting ...

  2. codeforce训练2总结

    题目列表 A.most unstable array 题号 题意 n个非负正数和为m,求所有相邻两数绝对值之和,即 分析 选择其中一个数为m本身,其他都取0. 为便于分析,分为两种情况来看. 如果n为 ...

  3. Codeforces Round #642 (Div. 3)(AB)

    Most Unstable Array CodeForces - 1353A 思路:最大是2*m,特判n= =1和n==2的情况. 代码如下: #include<bits/stdc++.h> ...

  4. 【小白学习C++ 教程】二十一、C++ 中的STL容器Arrays和vector

    @Author:Runsen C++的标准模板库(STL)是提供数组.向量.队列等数据结构的模板类的集合.STL是由容器.算法.迭代器组成的库. 容器 容器存储对象和数据.它们基本上是基于模板的泛型类 ...

  5. Java集合---Arrays类源码解析

    一.Arrays.sort()数组排序 Java Arrays中提供了对所有类型的排序.其中主要分为Primitive(8种基本类型)和Object两大类. 基本类型:采用调优的快速排序: 对象类型: ...

  6. C语言第三章Functions, Arrays Pointers

    C语言第三章Functions, Arrays & Pointers Functions Functions in C Function Parameters Variable Scope(作 ...

  7. Numpy掩码数组masked arrays,这一篇就够了

    Numpy掩码数组masked arrays,这一篇就够了 1. 什么是掩码数组 2.示例 2.1 一个例子走进掩码数组 2.2 创建一个数组第二个值是无效的 2.3 创建一个数组所有靠近1.e20的 ...

  8. JavaSE基础:Arrays工具类

    Java工具类: Arrays Arrays类是数组的操作类,定义在java.util包中,主要功能是实现数组元素的查找/数组内容的充填/排序等功能 1.排序数组的sort方法 重点:对数组元素进行排 ...

  9. Java学习笔记七——数组工具类Arrays

    数组工具类Arrays Java提供的Arrays类里包含的一些static修饰的方法可以直接操作数组.若将里面的方法用熟的话,那开发效率会大大提高.下面介绍其中的方法. List<T> ...

最新文章

  1. linux7 显示登陆,centos7 查看,修改登录日志
  2. Configure NFS Server On AIX 6.1
  3. 使用SQL语句创建数据库2——创建多个数据库文件和多个日志文件
  4. 修改文件后git只用两步push文件
  5. React开发(259):react项目理解 ant design debug
  6. imagemagick, imagick和magickwand编译安装
  7. 并行DA实验c语言程序,求助怎么把两个单片机c语言程序结合在一起?大一期末实验...
  8. envi反演水质参数_基于大气校正法的Landsat 8 TIRS地表温度反演
  9. linux 用户邮件,Linux系统邮件客户端 Exchange账户相关
  10. 动态规划(dynamic programming)初步入门
  11. 分享100个精美的作品集网站设计案例
  12. 离散数学——coq学习笔记(一)
  13. 【抓包】【Mac Charles】局域网无法抓包 手机热点来解决
  14. ubuntu 16.04 deepin.com.wechat 微信登录提示版本过低解决方案
  15. CM311-1A 卡刷 + 线刷、刷安卓与 Armbian 教程
  16. 《 阿Q正传》-鲁迅 词语解释 | 经典语录
  17. java与模式pdf 闫宏_Java设计模式及实践.pdf下载
  18. STL学习笔记7 ——STL算法(一)
  19. 基于ICP算法的三维点云数据拼接算法的实现
  20. 三个维度拆解国货品牌的爆款逻辑!

热门文章

  1. 项目日志20190704
  2. Vue数据更新但页面没有更新的多种情况
  3. AFX_MANAGE_STATE(AfxGetStaticModuleState())
  4. arc64,x86等架构linux,windows系统openjdk下载
  5. java 连接池配置_java数据库连接池配置的几种方式
  6. 磁盘配额(Quota)磁盘阵列(RAID)逻辑卷轴管理器(LVM)学习记录
  7. 详解怎么更新win10系统操作方法
  8. 读书笔记:《Designing Data-Intensive Applications》
  9. 基于Java的乐嘉网络商城系统(毕设)
  10. 【论文解读】持续学习三种情形