记录编号 113293 评测结果 AAAAAAAAAA
题目名称 [NOIP 2007]奖学金 最终得分 100
用户昵称 Gravatar1azyReaper 是否通过 通过
代码语言 C++ 运行时间 0.003 s
提交时间 2014-07-21 09:45:51 内存使用 0.32 MiB
显示代码纯文本
#include <fstream>
#include <algorithm>
#define MAX 312
using namespace std;
ifstream fin("pj07-1.in");
ofstream fout("pj07-1.out");
class node
{
public:
	//string name;
	int number;
	int chn,eng,mat;
	int all;
}x[MAX];
bool cmp(node a,node b)
{
	if(a.all>b.all)
		return true;
	else
		return false;
}
bool cmp1(node a,node b)
{
	if(a.chn>b.chn&&a.all>=b.all)
		return true;
	else
		return false;
}
bool cmp2(node a,node b)
{
	if(a.number<b.number)
		return true;
	else
		return false;
}
int main()
{
	int n;
	fin>>n;
	for(int i=1;i<=n;i++)
	{
		fin>>x[i].chn>>x[i].eng>>x[i].mat;
		x[i].number=i;
	}//read
	for(int i=1;i<=n;i++)
	{
		x[i].all=x[i].chn+x[i].eng+x[i].mat;
	}
	sort(x+1,x+n+1,cmp);
	for(int i=1;i<=n;i++)
	{
		if(x[i].all==x[i+1].all)
		{
			sort(x+i,x+3+i,cmp1);
		}
	}
	for(int i=1;i<=n;i++)
	{
		if(x[i].all==x[i+1].all&&x[i].chn==x[i+1].chn)
		{
			sort(x+i,x+3+i,cmp2);
		}
	}
	for(int i=1;i<=5;i++)
	{
		fout<<x[i].number<<' '<<x[i].all<<endl;
	}
	fin.close();
	fout.close();
	return 0;
}