比赛 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;
}