任务描述
有一天,海盗截获了一艘装满各种各样古董的货船,每一件古董都价值连城,一但打碎就失去了价值,虽然海盗船足够大,但载重量为C,每件古董的重量为Wi,海盗们如何把尽量多的宝贝装上海盗船呢?
输入格式
第一行输入n,c,代表有n个古董和船的重量
第二行输入n个数,代表每个古董的重量。
1<n,c<100000
每个古董的重量不超过100
输出格式
输出一个数,代表最多装多少个古董
输入样例
8 30
4 10 7 11 3 5 14 2
输出样例
5
#include<stdio.h>
int w[100010];
int main()
{
int s=0;//物品个数
int n,c;
scanf("%d %d",&n,&c);
for(int i=0;i<n;i++)
{
scanf("%d",&w[i]);
}
//重量从小到大排序
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if(w[i]<w[j])
{
int temp=w[j];
w[j]=w[i];
w[i]=temp;
}
}
}
int snum=0;
for(int i=0;i<n;i++)
{
if(snum+w[i]<=c)
{
snum+=w[i];
s++;
}
else
{
break;
}
}
printf("%d",s);
return 0;
}