需要安排几位师傅加工零件?c++

题目描述

某工厂有n个零件加工的师傅,每位师傅每天能够加工出不同数量的零件。现有m个零件要求一天加工完,请问该工厂最少需要派几个师傅来完成这次零件加工任务,如果安排所有的师傅都参与加工也不能在一天内完成任务,请输出“NO”。

输入

第一行有两个整数,用空格隔开;第一个整数代表要加工的总零件个数m(m<=10^6,就是10的6次方),第二个整数代表工厂的零件加工师傅的数量n(n<=100)。

第二行有n个整数,分别代表每个师傅每天能够加工出来的零件数量(每个师傅每天加工的零件数量<=10^4,就是10的4次方)。

输出

工厂在1天时间内加工所有零件需要的师傅数量或者输出NO。

样例输入

10 5
1 3 2 4 2

样例输出

4

分析:

最少,所以要先派做零件最多的师傅来加工,再派第2多的,第3多的……这样才能保持最少

最后如果安排所有的师傅都参与加工也不能在一天内完成任务,输出“NO”即可

#include<bits/stdc++.h>
using namespace std;
int main(){
    long long m,n,a[101],cc=0,sum=0;
    cin>>m>>n;
    for(int i=1;i<=n;i++){
    	cin>>a[i];
	}
	sort(a+1,a+1+n);
	for(int i=n;i>=1;i--){
		cc=cc+a[i];
		sum++;
		if(cc>=m){//<——————
			cout<<sum;//  | 如果可以做完 ——
			return 0;//————              |
		}//                              |此处不执行
	}//                                  |否则执行
	cout<<"NO";//<————————————————————————
    return 0;
}

相关推荐

  1. 需要安排师傅加工零件c++

    2024-06-11 06:58:02       30 阅读
  2. js 保留小数点

    2024-06-11 06:58:02       43 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-11 06:58:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-11 06:58:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-06-11 06:58:02       87 阅读
  4. Python语言-面向对象

    2024-06-11 06:58:02       97 阅读

热门阅读

  1. [FFmpeg学习]初级的SDL播放mp4测试

    2024-06-11 06:58:02       33 阅读
  2. linux:centos7升级glibc到2.36

    2024-06-11 06:58:02       34 阅读
  3. Python 虚拟环境 + 嵌入式 部署方案

    2024-06-11 06:58:02       35 阅读
  4. 「C系列」C 数组

    2024-06-11 06:58:02       30 阅读
  5. Django学习(2)项目实战

    2024-06-11 06:58:02       27 阅读
  6. RGMII接口--->(014)FPGA实现RGMII接口(十四)

    2024-06-11 06:58:02       28 阅读
  7. Web前端动画插件:探索、比较与实用指南

    2024-06-11 06:58:02       35 阅读