`
phinecos
  • 浏览: 342715 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

HDU1177 "Accepted today?"

 
阅读更多

题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=1177

<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->#include<iostream>
#include
<algorithm>
#include
<string>
usingnamespacestd;

constintMAX_SIZE=150;

structscore
{
intproblems;//解出的题数
stringtime;//用时
boolisTarget;//是否目标
};

structscorescores[MAX_SIZE];
intN,G,S,C,M,P;

boolcompare(constscore&s1,constscore&s2)
{
if(s1.problems>s2.problems)
{
returntrue;
}
elseif(s1.problems<s2.problems)
{
returnfalse;
}
else
{
//题数相同,比较用时
if(s1.time.compare(s2.time)>0)
{
returnfalse;
}
elseif(s1.time.compare(s2.time)<0)
{
returntrue;
}
}
}

intfindTargetPos()
{
//找到排序后的目标位置
intpos=-1;
for(inti=0;i<N;++i)
{
if(scores[i].isTarget==true)
{
pos
=i;
break;
}
}
returnpos+1;
}

intmain()
{
inti,pos;
while(cin>>N>>G>>S>>C>>M)
{
if(N==0&&G==0&&S==0&&C==0&&M==0)break;
for(i=0;i<N;++i)
{
cin
>>scores[i].problems>>scores[i].time;
scores[i].isTarget
=false;
if(i==M-1)
{
scores[i].isTarget
=true;
}
}
sort(scores,scores
+N,compare);
pos
=findTargetPos();
if(pos<=G)
{
cout
<<"Acceptedtoday?I'vegotagoldenmedal:)"<<endl;
}
elseif(pos<=G+S)
{
cout
<<"Acceptedtoday?I'vegotasilvermedal:)"<<endl;
}
elseif(pos<=G+S+C)
{
cout
<<"Acceptedtoday?I'vegotacoppermedal:)"<<endl;
}
else
{
cout
<<"Acceptedtoday?I'vegotanhonormentioned:)"<<endl;
}
}
return0;
}


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics