1. 程式人生 > >HDU-1177"Accepted today?"

HDU-1177"Accepted today?"

#include<iostream>
#include<stdio.h>
#include<algorithm>
#include<fstream>

#define N 150
int n,g,s,c,m;
int tmp,ht,mt,st;
struct play
{
	int idx;
	int  n;
	int t;
};

play plays[N];
int idx;

bool cmp(const play& l,const play& r)
{
	if(l.n>r.n){
		return true;
	}else if(l.n==r.n){
		return l.t<r.t;
	}else{
		return false;
	}
}
int main()
{
	//std::fstream fin("1.txt");
	//FILE* fp;
	//fp=fopen("1.txt","r");
	while(scanf("%d %d %d %d %d",&n,&g,&s,&c,&m)&&n&&g&&s&&c&&m){
		for(int i=0;i!=n;i++){
			scanf("%d %d:%d:%d",&tmp,&ht,&mt,&st);
			plays[idx].n=tmp;
			plays[idx].t=ht*3600+mt*60+st;
			plays[idx].idx=idx+1;
			idx++;
		}
		
		std::sort(plays,plays+n,cmp);
		for(int i=0;i!=idx;i++){
			if(plays[i].idx==m){
				if(i+1<=g){
					std::cout<<"Accepted today? I've got a golden medal :)"<<std::endl;
				}else if(i+1<=(g+s)){
					std::cout<<"Accepted today? I've got a sliver medal :)"<<std::endl;
				}else if(i+1<=(g+s+c)){
					std::cout<<"Accepted today? I've got a copper medal :)"<<std::endl;
				}else{
					std::cout<<"Accepted today? I've got an honor mentioned :)"<<std::endl;
				}
			}
		}
	}
}