Bit 5
题目大意:给你曹操的攻击力和N(N<=500)个小怪,每战胜一个攻击力比他低的小怪他的攻击力就加1,战胜一个攻击力比他高的小怪就加2。现在给出N个小怪的攻击力,请问他最后的攻击力最高是多少
考察点:贪心
思路分析:显然,把小怪攻击力排序一下,先打攻击力比自己高的小怪中攻击力最低的那个,最后再打攻击力一开始就比自己低的。
交了三次AC。。输入有多组数据,没打while。。。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
int n,ip,i,j;
int a[510];
while(~scanf("%d%d",&n,&ip))
{
for (i=1;i<=n;i++)
scanf("%d",&a[i]);
for (i=1;i<=n-1;i++)
{
for (j=i+1;j<=n;j++)
{
if (a[i]>a[j])
{
a[0]=a[i];a[i]=a[j];a[j]=a[0];
}
}
}
j=0;
for (i=1;i<=n;i++)
{
if (a[i]<=ip) j++;
else ip=ip+2;
}
ip=ip+j;
printf("%d\n",ip);
}
system("pause");
return 0;
}