题解
【提高】加工零件
1 条题解
-
0
#include <bits/stdc++.h> using namespace std; int a[110], s, n, m; int main(){ cin >> m >> n;//m个零件 n个工人 for (int i = 1; i <= n; i++) { cin >> a[i];//输入n个工人的能力值 } // 优先安排加工数量多的师傅 sort(a + 1, a + n + 1); //由于能力值是从小到大排,所以要从后面开始安排 for (int i = n; i >= 1; i--) { s += a[i]; // 第一次达到任务量时,i 就是需要的最少师傅数 if (s >= m) { cout << n - i + 1;//n-i+1表示安排的工人的数量 break; } } // 所有师傅都安排上还不够,就输出 NO if (s < m) { cout << "NO"; } return 0; }
- 1