题目描述
为了准备即将到来的考试,小欣每天都在努力练习。
考试开始了,总共有 n 道题目。
对于第 i 道题,小欣可以在 ti 分钟内做出来。
考试时长为 T 分钟,问小欣最多可以做对多少道题。
输入
多组数据输入。
对于每一组数据,第一行输入两个整数 n,T ,代表有 n 道题,考试时长为 T 分钟。(0<=n<=1000,0<=T<=5000)
第二行输入包含 n 个整数 ti ,代表小欣做出第 i 道题所花费的时间。(0<=ti<=1000)
输出
对于每一组数据输出只有一行,包含一个整数,即小欣最多可以做对的题目数量。
样例输入
5 60
15 20 20 5 30
5 0
1 2 3 4 5
样例输出
4
0
参考代码
#include<stdio.h>
int cmp( int *a, int *b)
{
return *a-*b;
}
int main()
{
int a[1001];
int sum,i,n,t,k;
while(~scanf("%d %d",&n,&t))
{
k=sum=0;
for (i=0;i<n;i++)
scanf("%d",&a[i]);
qsort(a,n,sizeof(a[0]),cmp);
for (i=0;i<n;i++)
{
if(k+a[i]<=t)
{
k+=a[i];
sum++;
} else break;
}
printf("%dn",sum);
}
return 0;
}
解析
暂无