首页 > 代码库 > 洛谷——P2695 骑士的工作

洛谷——P2695 骑士的工作

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

题目背景

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

题目描述

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

输入输出格式

输入格式:

 

第一行两个整数 n m

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

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

 

输出格式:

 

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

 

输入输出样例

输入样例#1:
2 35 47 84
输出样例#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 }

 

洛谷——P2695 骑士的工作