比赛 |
20131130 |
评测结果 |
AAAAAAAAAA |
题目名称 |
提高速度 |
最终得分 |
100 |
用户昵称 |
Satoshi |
运行时间 |
0.025 s |
代码语言 |
C++ |
内存使用 |
0.58 MiB |
提交时间 |
2015-09-19 20:35:15 |
显示代码纯文本
#include <fstream>
#include <algorithm>
#include <vector>
#define N 10010
using namespace std;
ifstream in("sboost.in");
ofstream out("sboost.out");
int n,start=0;
vector<int> ans;
class fire
{
public:
double F;
double m;
double a;
int pos;
void make(double x,double y,int b)
{
F=x;
m=y;
a=x/y;
pos=b;
}
}P[N];
bool com(fire x,fire y)
{
if(x.a<y.a)return 0;
if(x.a==y.a)
{
if(x.m>y.m)return 0;
}
return 1;
}
void print(fire O)
{
out<<O.F<<' '<<' '<<O.m<<' '<<O.a<<endl;
}
void read()
{
int i;
double x,y;
in>>x>>y;P[0].make(x,y,0);
in>>n;
for(i=1;i<=n;i++)
{
in>>x>>y;
P[i].make(x,y,i);
}
sort(P+1,P+n+1,com);
for(i=1;i<=n;i++)
{
if(P[i].a>P[0].a)
{
start=i;
break;
}
}
for(i=1;i<=n;i++)
{
if(P[i].a>P[0].a)
{
P[0].F+=P[i].F;
P[0].m+=P[i].m;
P[0].a=P[0].F/P[0].m;
ans.push_back(P[i].pos);
}
}
sort(ans.begin(),ans.end());
if(ans.size())for(i=0;i<ans.size();i++)out<<ans[i]<<endl;
else out<<"NONE"<<endl;
}
int main()
{
read();
//work();
return 0;
}