题目描述
因打虎而闻名的武松在 x 年后接到了景阳岗动物园的求助电话:最近我们动物园逃跑了几只老虎,请您把它们抓回来,武松接到电话之后立刻上了山。正当他到半山腰时,突然跳出 n 只猛虎来。每只老虎都有一块虎牌,牌上写的是每一只虎最大拥有的体力,当武松与老虎 pk 时,若老虎的体力先用完,那么老虎就挂了,否则武松就挂了,求武松在挂之前最多能干掉几只老虎?(注:老虎是一只只上的)
输入描述
第一行两个数字 n(老虎的只数,小于 50000), t(武松的体力)。第二行 n 个数字,分别表示每只老虎的体力。所有变量都不超过 long 类型的表示范围
输出描述
一行,最多能干掉的老虎数
样例输入
6 10
1 5 3 2 4 6
样例输出
4
#include<stdio.h>
int main()
{
long int n,t;
while(scanf("%d %d",&n,&t)!=EOF)
{
char a[50000];
int temp,i,j;
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for (i=0;i<n-1;i++)
for (j=0;j<n-i-1;j++)
if (a[j]>a[j+1])
{
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
}
int s=0;
for(i=0;i<n;i++)
{
s=s+a[i];
if(s>t)
{
printf("%d\n",i);
break;
}
}
}
return 0;
}
老虎还能排队让弱的先上的吗。。
24行应该是s>=t吧
我这运行没问题啊,你遇到什么问题了?