#include<stdio.h>
#include <string.h>
int main(){
int n,m; //n is number of heads.m is number of knights.
while(scanf("%d %d",&n,&m)==2&&!(n==0&&m==0)){
if(n>=1&&n<=20000&&m>=1&&n<=20000&&n<=m){
int headSize[n];
int knightAbility[m];
int i,j;
for(i=0;i<n;i++){
scanf("%d\n",&headSize[i]);
}
for(i=0;i<m;i++){
scanf("%d\n",&knightAbility[i]);
}
int sum=0;
for(i=0;i<n;i++){
int min=999999;
for(j=0;j<m;j++){
if(knightAbility[j]>=headSize[i]&&knightAbility[j]<min){
min=knightAbility[j];
}
sum+=min;
}
}
printf("%d\n",sum);
}
else
printf("loowater is doomed.");
} //printf("end of pro");
}这道题我没有事先排序,结果不对。
1 回答
艾尔森
TA贡献33条经验 获得超27个赞
你也知道没有排序为什么不排… 主要就是一个贪心 不排序还怎么贪 还有算法问题还是不要在这里问了… 这个网站本身就不是算法的学习网站 (还有你这个缩进看的我无从下手…)
- 1 回答
- 2 关注
- 2169 浏览
添加回答
举报
0/150
提交
取消