【kAri OJ605】陈队的树

内存限制 65536 KB

题目描述

陈队有N棵树的高度之和最小为多少。

输入格式

第一行为数据组数)

每组数据第一行为)

下面一行为N个数,每个数大小在1到1000之间。

下面一行为M个数,每个数大小在1到1000之间。

输出格式

输出N棵树被修剪完之后的高度和的最小值。

输入样例

1
2 2
4 7
3 4

输出样例

7

分析

相当于把比较大的数字换成比较小的,最后就是所有数字里最小的n个数之和。

代码

#include<cstdio>
#include<algorithm>
using namespace std;
int t,n,m,a[2005];
int main(){
    scanf("%d",&t);
    while(t--){
        scanf("%d%d",&n,&m);
        for(int i=0;i<n;i++)
            scanf("%d",&a[i]);
        for(int i=n;i<n+m;i++)
            scanf("%d",&a[i]);
        sort(a,a+n+m);
        for(int i=1;i<n;i++)
            a[0]+=a[i];
        printf("%d
",a[0]);
    }
    return 0;
}