题目链接:http://acm.fzu.edu.cn/problem.php?pid=2212
题目大意:
现在有n个手机,一个电量为m%(百分之m)的万能充电宝
然后输入n个手机的现有电量(百分之a[i]),现在问你这个万能充电宝能把几个手机充满(电量为百分之百)。
//思路:
将n个手机的电量进行一个排序,从最满的开始充,每充满一个手机,充电宝的电就要减去消耗的电量,如果充电还有电则代表此手机充电成功,如此一来,就可以计算充电宝能将几个手机充满了
AC代码:
#include <cstdio>
#include <algorithm>
#include <iostream>
#include <cstring>
#include <vector>
using namespace std;
int a[];
int main()
{
int t,n,m;
scanf("%d",&t);
while(t--)
{
int ans=;
scanf("%d %d",&n,&m);
for(int i=;i<n;i++)
scanf("%d",&a[i]);
sort(a,a+n);
for(int i=n-;i>=;i--)
{
m-=-a[i];
if(m>=) ans++;
else break;
}
printf("%d\n",ans);
}
return ;
}