记录编号 102689 评测结果 AAAAAAAAAA
题目名称 [NOIP 2007]奖学金 最终得分 100
用户昵称 Gravatarch3coooh 是否通过 通过
代码语言 C++ 运行时间 0.003 s
提交时间 2014-05-21 08:32:28 内存使用 0.31 MiB
显示代码纯文本
#include<fstream>
#include<iostream>
using namespace std;
int main()
{
	ifstream fin("pj07-1.in");
	ofstream fout("pj07-1.out");
	struct v//a rand name .don't mind details
	{
		int sum;
		int chinese;
	}stu[305];
	int n,i,j;
	int a[301],s[301];
	fin>>n;
	int c,m,e;
	for(i=1;i<=300;i++)
		a[i]=0;
	for(i=1;i<=n;i++)
	{
		s[i]=i;
		fin>>c>>m>>e;
		stu[i].sum=c+m+e;
		stu[i].chinese=c;
		a[c+m+e]++;
	}
	for(i=1;i<=n;i++)
	{
		for(j=i;j<=n;j++)
		{
			if(stu[s[i]].sum<stu[s[j]].sum)
			{
				int cup=s[i];
				s[i]=s[j];
				s[j]=cup;
			}
			else if(stu[s[i]].sum==stu[s[j]].sum)
			{
				if(stu[s[i]].chinese<stu[s[j]].chinese)
				{
					int cup=s[i];
					s[i]=s[j];
					s[j]=cup;				
				}
			}
		}
	}
	int k=300;
	/*for(i=1;i<=n;i++)
	cout<<i<<' '<<stu[i].sum<<' '<<s[i]<<endl;*/
	for(i=1;i<=5;i++)
	{
		fout<<s[i]<<' ';
		while(1)
		{
			if(a[k]>0)
			{
				fout<<k;
			    a[k]--;
				break;
			}
			else k--;
			if(k==0) break;
		}
		if(i!=5) fout<<endl;
	}
	fin.close();
	fout.close();
	return 0;
}