勇者斗恶龙--C++

2018-10-09  本文已影响0人  鲸鸟与鹿

你的国王中有一条n个头的龙,你希望雇佣一些骑士把它杀死。村里有m个骑士,且只能雇佣一次。

一个能力值为x的骑士,只能砍掉一个直径不超过x的头,

且需要支付的金币为x,如何雇佣这些骑士支付金币最少。

例子:

input:2  3

5

4

7

8

4

output:11

input:2 1

5

5

10

output:Loowater is doomed!

方法

—————————————————————————————————————————

#include<iostream>

#include<algorithm>

using namespace std;

int main(){

int a[20005],b[20005];

int n,m,sum=0;

int p=0;

int i,j;

cin>>n>>m;

if(n==0||m==0){

  cout<<"loowater is doomed!";

}

else{

for(i=0;i<n;i++)

cin>>a[i];

for(i=0;i<m;i++)

cin>>b[i];

sort(a,a+n);

sort(b,b+m);

for(j=0;j<m;j++){

if(b[j]>=a[p]){

sum+=b[p];

if(++p==n)

break;

}

}

}

if(p<n){

cout<<"loowater is doomed!";

}

else{

cout<<sum<<endl;

}

return 0;

}

上一篇 下一篇

猜你喜欢

热点阅读