(以“分类:贪心 ==摘要== {{信息题|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; } |