题目背景
你作为一个村的村长,保卫村庄是理所当然的了。今天,村庄里来了一只恶龙,他有 n 个头,恶龙到处杀人放火。你着急了。不过天无绝人之路,现在来了一个骑士团。里面有 m 位成员(往下看)。
题目描述
每个人都可以砍掉一个大小不超过 z 的头,需要 z 个金币,求最小花费。
输入格式
第一行两个整数 n,m。
下接 n 行,一个整数表示 n 个头的大小。
下接 m 行,每个人可以砍的头大小和需要的金币数。
输出格式
一个整数,最小花费。如果无解,输出 “you died!
”。
输入输出样例
输入 #1复制
2 3 5 4 7 8 4
输出 #1复制
11
说明/提示
对于所有数据,1≤n,m≤2×10000。
这题一看就是标准的贪心,可以将骑士可以砍的头和恶龙头的大小从小到大排序,自然
就是最节省的方案
上代码:
#include<bits/stdc++.h> //万能头文件
using namespace std;
int main(){
long long n,m;
cin>>n>>m;
long long head[n]={}; //恶龙头的大小
for(long long i=0;i<n;i++){
cin>>head[i];
}
sort(head,head+n)