记录编号 369842 评测结果 AAAAAAAAAA
题目名称 [NOIP 2007]奖学金 最终得分 100
用户昵称 GravatarHeHe 是否通过 通过
代码语言 C++ 运行时间 0.007 s
提交时间 2017-02-11 15:10:37 内存使用 0.32 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
#define MAXN 500
#define is_num(tmp) (tmp<='9'&tmp>='0')
inline int fast_read()
{
	char tmp(getchar());
	int res(0);
	while(!is_num(tmp))tmp=getchar();
	while(is_num(tmp))
		res=(res<<1)+(res<<3)+(tmp^48),
		tmp=getchar();
	return res;
}
struct score{
	int name;
	int tot;
	int s_1,s_2,s_3;
	void read(const int&n)
	{
		name=n;
		s_1=fast_read();
		s_2=fast_read();
		s_3=fast_read();
		tot=s_1+s_2+s_3;
		return ;
	}
	void print()
	{
		printf("%d %d\n",name,tot);
		return ;
	}
}k[MAXN];
bool comp(const score&a,const score&b);
score tmp;
void qsort(int l,int r)
{
	int i(l),j(r),p((l+r)>>1);
	score mid(k[p]);
	do{
		while(comp(k[i],mid))i++;
		while(comp(mid,k[j]))j--;
		if(i<=j)
		{
			tmp=k[i];
			k[i]=k[j];
			k[j]=tmp;
			i++;j--;
		}
	}while(i<=j);
	if(i<r)qsort(i,r);
	if(l<j)qsort(l,j);
	return ;
}
int num;
int main()
{
	freopen("pj07-1.in","r",stdin);
	freopen("pj07-1.out","w",stdout);
	num=fast_read();
	for(int i(0);i<num;++i)
	{
		k[i].read(i+1);
	}
	qsort(0,num-1);
	for(int i(0);i<5;++i)
	{
		k[i].print();
	}
	return 0;
}
bool comp(const score&a,const score&b)
{
	if(a.tot>b.tot)return 1;
	if(a.tot<b.tot)return 0;
	if(a.s_1>b.s_1)return 1;
	if(a.s_1<b.s_1)return 0;
	if(a.name<b.name)return 1;
	return 0;
}