题目:
题目描述
村民们被可怕的恶龙们抓走了,勇敢的硕硕担负起了拯救大家的重任。恶龙谷一共有n条恶龙,每条龙都有自己不同的力量值(非负整数)。硕硕要和每条龙进行1V1的战斗,只有打败所有恶龙,他才能救出村民们。
硕硕一开始的力量值为S。在任意一次战斗中,如果硕硕的力量值比第i条龙(1<=i<=n)的力量值大,那么硕硕可以击败这头龙,并失去和这头龙相等的力量值;如果硕硕的力量值小于这头龙的力量值,那么硕硕将在这场战斗中死亡。
硕硕可以以任意的一个顺序和龙进行战斗。请编写程序确定硕硕最多可以击败多少只恶龙。
输入输出格式
输入
输入有两行。第一行包含两个整数S和n,分别表示硕硕的力量值和恶龙的数量。第二行有n个数,代表每只恶龙的力量值。
输出
输出一个整数,表示硕硕能打败的恶龙数量。
是不是一道水题?可是我没有AC /kk
#include<iostream>
#include<algorithm>
using namespace std;
int a[10010];
int main()
{
int s,n,l=0;
cin>>s>>n;
for(int p=1;p<=n;p++)
cin>>a[p];
sort(a+1,a+n+1);
for(int p=1;p<=n;p++)
{
l+=a[p];
if(l>s)
{
cout<<p-1<<endl;
return 0;
}
}
}
这是我的代码,求改 /kk wtclwzbl