地址:http://acm.bit.edu.cn/mod/programming/view.php?id=655
曹操初始IP已知,给出一个序列表示其他人的IP,曹操可以自行选择PK顺序,若对方IP比曹操当前IP高,曹操加两点IP,否则加一点。问曹操最后最多有多少智商。
显然一开始就不比曹操初始IP高的先统计,最后都算IP+1。剩下那些比曹操IP高的,排升序后跑一遍,在过程中又不比曹操IP高了的话,统计,最后算IP+1;否则直接当前IP+2继续跑。水题1Y(表述不清。。。不管了)
#include<iostream>
#include<algorithm>
using namespace std;
int a[505];
int main()
{
int n,p,i,len,temp,sum;
while(scanf("%d%d",&n,&p)!=EOF)
{
for(sum=0,len=0,i=0;i<n;i++)
{
scanf("%d",&temp);
if(temp<=p) sum++; //统计所有智商小于等于cc的
else a[len++]=temp; //储存智商大于cc的
}
sort(a,a+len); //排序
for(i=0;i<len;i++)
{
if(p>=a[i]) sum++; //如果该人智商小于等于cc当前智商 统计
else p+=2; //否则
}
printf("%d\n",p+sum);
}
return 0;
}