• acWing 825. 排队购物


    题目描述
    苏西小朋友和她的妈妈正在超市里购物,看着收银处排着的长长的队伍,她就想如何能够提高整体的服务质量呢?

    已知,现在有n个人正在排队等待结账,每个人结账所花的时间都可能是不同的,第 i 个人的结账时间为ti。

    如果一个人在队伍中的等待时间超过了他自己结账所花的时间,那么他就会很不满意。

    一个人在队伍中的等待时间等于他前面所有人结账所花的时间的总和。

    苏西认为,如果我们合理安排队伍中人群的结账次序,就可以使得更多的人能够感到满意。

    请问,能够感到满意的人数最多是多少。

    输入格式
    第一行包含整数n。

    第二行包含n个整数ti,表示队列中的每个人结账所需的时间。

    输出格式
    一个整数,表示能够感到满意的最大人数。

    数据范围
    1≤n≤105
    1≤ti≤109

    样例

    输入样例:
    5
    15 2 1 5 3
    输出样例:
    4

    算法1
    看样例 就是排序,然后按照题意找出 前面数之和不大于自己的数字
    注意和是LONG LONG 就交了一发试试 AC

     1 #include <iostream>
     2 #include <vector>
     3 #include <algorithm>
     4 
     5 using namespace std;
     6 
     7 vector<int> v;
     8 
     9 
    10 int main()
    11 {
    12     int n;
    13     cin >> n;
    14     for(int i =0;i <n;i++){
    15         int t;
    16         cin >> t;
    17         v.push_back(t);
    18     }
    19 
    20     sort(v.begin(),v.end());
    21     long long sum = 0; int count = 0;
    22     for (int i = 0; i < v.size(); i++)
    23     {
    24         if (v[i] >= sum) {
    25             count++;
    26             sum += v[i];
    27         }
    28     }
    29 
    30     cout << count << endl;
    31 
    32     return 0;
    33 }
    34 
    35 
    36 作者:defddr
    37 链接:https://www.acwing.com/solution/acwing/content/2205/
    38 来源:AcWing
    39 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
    View Code
    作 者: itdef
    欢迎转帖 请保持文本完整并注明出处
    技术博客 http://www.cnblogs.com/itdef/
    B站算法视频题解
    https://space.bilibili.com/18508846
    qq 151435887
    gitee https://gitee.com/def/
    欢迎c c++ 算法爱好者 windows驱动爱好者 服务器程序员沟通交流
    如果觉得不错,欢迎点赞,你的鼓励就是我的动力
    阿里打赏 微信打赏
  • 相关阅读:
    四则运算
    软工与我
    四则运算结对作业
    《构建之法》读第四、十七章收获
    2016012088四则运算
    构建之法第一、二、十六章
    我的软件工程之路
    小学四则运算结对项目报告【GUI】
    构建之法4,17章读书笔记
    2016012095+小学四则远算练习软件项目报告
  • 原文地址:https://www.cnblogs.com/itdef/p/10914622.html
Copyright © 2020-2023  润新知