(以“分类:贪心 ==摘要== {{信息题|Amr and Music|http://acm.hust.edu.cn/vjudge/contest/view.action?cid{{=}}70536#problem/C|1|100|输出内容错误|1|time=2015...”为内容创建页面) |
小 (→代码: space) |
||
| 第11行: | 第11行: | ||
{{折叠|507A.cpp代码已折叠 | {{折叠|507A.cpp代码已折叠 | ||
|<pre> | |<pre> | ||
| − | #include <iostream> | + | #include<iostream> |
#include<cstdio> | #include<cstdio> | ||
#include<algorithm> | #include<algorithm> | ||
| 题目链接 | 难度等级 | 完成状态 | 完成分数 | 最后编辑时间 | 失误原因(初次提交分数) |
|---|---|---|---|---|---|
| Amr and Music | ★☆☆☆☆ | 答案正确 | 100 | 2015-02-23 13:02:35 | 输出内容错误(1) |
学习n种乐器每一种需要天,问
天内最多能学习哪几种乐器。
排序,用时最少的先学即可。注意要求输出的是id不是天数。
| 507A.cpp代码已折叠
展开折叠内容
|
|---|
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstdlib>
#define eps 1e+5
using namespace std;
class ins
{
public:
int id,a;
friend bool operator <(const ins &a,const ins&b){return a.a<b.a;}
} a[10010]={};
int n,k,sum=0;
int main()
{
cin>>n>>k;
for(int i=1;i<=n;++i)
{
cin>>a[i].a;
a[i].id=i;
}
sort(a+1,a+n+1);
int end=0,haveEnd=0;
for(int i=1;i<=n;++i)
{
sum+=a[i].a;
if(sum>k)
{
end=i-1;
haveEnd=1;
break;
}
}
if(!haveEnd)end=n;
cout<<end<<endl;
for(int i=1;i<=end;++i)
cout<<a[i].id<<" ";
return 0;
}
|