时间限制 : 1 秒
内存限制 : 128 MB
某工厂有 n 个零件加工的师傅,每位师傅每天能够加工出不同数量的零件。
现有 m 个零件要求一天加工完,请问该工厂最少需要派几个师傅来完成这次零件加工任务,如果安排所有的师傅都参与加工也不能在一天内完成任务,请输出NO。
输入
第一行有两个整数,用空格隔开;
第一个整数代表要加工的总零件个数 �(�≤106)m(m≤106),第二个整数代表工厂的零件加工师傅的数量 n(n≤100)。
第二行有 n 个整数,分别代表每个师傅每天能够加工出来的零件数量(每个师傅每天加工的零件数量<=104<=104)。
输出
输出工厂在 1 天时间内加工所有零件需要的师傅数量,或者输出NO。
样例
输入
10 5 1 3 2 4 2
输出
#include<bits/stdc++.h>
using namespace std;
int a,b,d=0,x=0;
bool cmpl(int x,int y)
{
return x>y;
}
int main()
{
bool f=false;
cin>>a>>b;
int aa[b];
for(int i=0;i<b;i++)
{
cin>>aa[i];
}
sort(aa,aa+b,cmpl);
for(int i=0;i<b;i++)
{
if(d>=a)
{
f=true;
break;
}
else
{
d+=aa[i];
}
x++;
}
if(f==true)
{
cout<<x;
}
else
{
cout<<"NO";
}
return 0;
}
4