洛谷——P2695 骑士的工作

https://www.luogu.org/problem/show?pid=2695

题目背景

你作为一个村的村长,保卫村庄是理所当然的了.今天,村庄里来了一只恶龙,他有n个头,恶龙到处杀人放火。你着急了。不过天无绝人之路,现在来了一个骑士团。里面有m位成员(往下看)

题目描述

每个人都可以砍掉一个大小不超过(<=)z的头,要money个金币,求最小花费。

输入输出格式

输入格式:

第一行两个整数 n m

下接n行,一个整数 表示n个头的大小。

下接m行,每个人可以砍的头大小或金币(金币==头的大小)。

输出格式:

一个整数,最小花费。如果无解,输出“you died!”

输入输出样例

输入样例#1:
2 3
5 
4
7 
8
4
输出样例#1:
11

说明

1<=n,m<=20000

不可以多个人砍一个头~~

 1 #include <algorithm>
 2 #include <cstdio>
 3 
 4 using namespace std;
 5 
 6 const int N(20000+15);
 7 int n,m,size[N],kill[N];
 8 int ans,cnt=1;
 9 
10 int main()
11 {
12     scanf("%d%d",&n,&m);
13     for(int i=1;i<=n;i++) scanf("%d",size+i);
14     for(int i=1;i<=m;i++) scanf("%d",kill+i);
15     sort(size+1,size+n+1);
16     sort(kill+1,kill+m+1);
17     for(int i=1;i<=m;i++)
18         if(kill[i]>=size[cnt])
19         {
20             ans+=kill[i];
21             if(++cnt>n) break;
22         }
23     if(cnt<=n) printf("you died!");
24     else printf("%d",ans);
25     return 0;
26 }
——每当你想要放弃的时候,就想想是为了什么才一路坚持到现在。
原文地址:https://www.cnblogs.com/Shy-key/p/7082117.html