2 条题解

  • 3
    @ 2023-10-5 16:10:32

    对于这道题我只能呵呵了

    #include <bits/stdc++.h>
    #define ll long long
    using namespace std;
    int n, a[105];
    ll m, ans, sum;
    int main()
    {
        cin>>m>>n;
        for(int i=1;i<=n;i++)
            cin>>a[i];
        sort(a+1,a+n+1);
        for(int i=n;i>=1;i--)
        {
            sum+=a[i];
            ans++;
            if(sum >= m)
            {
                cout<<ans<<endl;
                return 0;
            }
        }
        cout<<"NO"<<endl;
        return 0;
    }
    
    • 1
      @ 2023-8-3 23:25:39

      已AC,放心食用

      #include<bits/stdc++.h>
      using namespace std;
      int n,m,a[105],sum,ct;//sum代表最少的师傅加工几件,ct代表最少需要几位师傅
      int main(){
          cin>>m>>n;
          for(int i=1; i<=n; i++) cin>>a[i];
          sort(a+1,a+n+1,greater<int>());//最少就说明师傅的工作效率要大,所以采取从大到小排序
          for(int i=1; i<=n; i++){
          	if(sum<m)ct++,sum+=a[i];//累加件数
          	else{
          		cout<<ct;
          		return 0;//代表师傅够,不够就不输出
      		}
      	}
      	cout<<"NO";//如果在for那里没return 0;的话,这里就会输出NO
          return 0; 
      }
      
      • 1

      【入门】需要安排几位师傅加工零件?

      信息

      ID
      323
      时间
      1000ms
      内存
      16MiB
      难度
      3
      标签
      递交数
      52
      已通过
      28
      上传者