1. 程式人生 > >洛谷——P2695 騎士的工作

洛谷——P2695 騎士的工作

一行 ans one ont color targe rdquo ++ -s

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 }

洛谷——P2695 騎士的工作