记录编号 |
83166 |
评测结果 |
AAAAAAAAAA |
题目名称 |
[USACO Mar]提高速度 |
最终得分 |
100 |
用户昵称 |
超级傲娇的AC酱 |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.010 s |
提交时间 |
2013-11-30 19:58:51 |
内存使用 |
0.28 MiB |
显示代码纯文本
- #include<cstdio>
- #include<fstream>
- #include<vector>
- #include<algorithm>
- using namespace std;
- class CH
- {
- public:
- double a;
- int num;
- double f,m;
- CH(double a_,int num_,double f_,double m_)
- {
- a=a_;
- num=num_;
- f=f_;
- m=m_;
- }
- bool operator < (const CH& x) const
- {
- return a>x.a;
- }
- };
- vector<CH>A;
- vector<double>Ans;
- int main()
- {
- //CH asdf(1,1,2,3);
- //asdf=CH(2,3,4,5);
- freopen("sboost.in","r",stdin);
- freopen("sboost.out","w",stdout);
- int i,n;
- double F,M,ff,mm;
- scanf("%lf %lf %d\n",&F,&M,&n);
- for(i=0;i<n;i++)
- {
- scanf("%lf %lf\n",&ff,&mm);
- CH k((ff/mm),i+1,ff,mm);
- A.push_back(k);
- }
- sort(A.begin(),A.end());
- for(i=0;i<n;i++)
- {
-
- if((A[i].f/A[i].m)>(F/M))
- {
- F+=A[i].f;
- M+=A[i].m;
- Ans.push_back(A[i].num);
- }
- else
- break;
- }
- sort(Ans.begin(),Ans.end());
- if(Ans.size()==0)
- puts("NONE");
- for(i=0;i<Ans.size();i++)
- printf("%.lf\n",Ans[i]);
- return 0;
- }