Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 628 Solved: 192
题目描述
小明现在有一堆糖,他有n(0<n<1000)点体力,现在有m块糖,每块糖果需要ai点体力去吃掉(0<ai<1000)。请问,小明最多能吃多少块糖呢?
输入
第一行有两个数n和m,分别代表小明的体力和糖果数量 第二行有m个数,a0,a1,...a(m-1),分别代表吃掉其需要的体力。
输出
最多能吃多少块糖。
样例输入
6 3 1 2 3
样例输出
3
#include<stdio.h>
int main(){
int n,m,k;
int a[1000];
int ai=0,aa;
scanf("%d",&n);
scanf("%d",&m);
for(k=0;k<m;k++){
scanf("%d",&a[k]);
}
int i,j;
for(i=0;i<m;i++){
for(j=0;j<m-i-1;j++){
if(a[j]>a[j+1]){
aa=a[j];
a[j]=a[j+1];
a[j+1]=aa;
}
}
}
while(n>0){
if(n<a[ai]){
break;
}
n=n-a[ai];
ai++;
}
printf("%d",ai);
return 0;
}