题目描述
因打虎而闻名的武松在 x 年后接到了景阳岗动物园的求助电话:最近我们动物园逃跑了几只老虎,请您把它们抓回来,武松接到电话之后立刻上了山。正当他到半山腰时,突然跳出 n 只猛虎来。每只老虎都有一块虎牌,牌上写的是每一只虎最大拥有的体力,当武松与老虎 pk 时,若老虎的体力先用完,那么老虎就挂了,否则武松就挂了,求武松在挂之前最多能干掉几只老虎?(注:老虎是一只只上的)
输入描述
第一行两个数字 n(老虎的只数,小于 50000), t(武松的体力)。第二行 n 个数字,分别表示每只老虎的体力。所有变量都不超过 long 类型的表示范围
输出描述
一行,最多能干掉的老虎数
样例输入
6 10
1 5 3 2 4 6
样例输出
4
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,t;
while(cin>>n>>t)
{
long long a[5001];
for(int i=0;i<n;i++)
cin>>a[i];
sort(a,a+n);
int i;
for(i=0;i<n&&t>=a[i];i++)
t-=a[i];
cout<<i<<endl;
}
system("pause");
}