L - Candy Machine(二分+贪心)

2023-11-19

题意:大体就是查找大于等于这个选定集合的平均值个数的数(选定集合)

 分析:(前提就是这个集合有序)这个可以反着理解当最后一个数加上前缀必然使平均值降低 然后大于平均的增多(不断贪心求最大);

代码:

#include <bits/stdc++.h>
using namespace std;
#define FAST ios::sync_with_stdio(false), cin.tie(0),cout.tie(0);                                              
typedef long long LL;
typedef pair<int, int> PII;
const int N = 1e6 + 10;
int n, m, a[N];

int cz(int l, int r, int x)两个二分查找模板1  一般用这个(写到这里我还很难区别二分)
{
    while (l < r)
    {
        int mid = (l + r + 1) >> 1;
        if (a[mid] <= x)
            l = mid;
        else
            r = mid - 1;
    }
    return l;
}
// int cz(int l,int r,int x)模板
// {
//     while(l<r)
//     {
//         int mid=l+r>>1;
//         if(a[mid]>=x) r=mid;
//         else l=mid+1;
//     }
//     return l;
// }
signed main()
{
    FAST;
    cin >> n;
    for (int i = 1; i <= n; i++)
        cin >> a[i];
    sort(a + 1, a + n + 1);//二分需要有顺序
    LL sum = a[1];
    double ave = 0;
    int ans = 0;
  
    for (int i = 2; i <= n; i++)//同样可以逆序
    {
        sum += a[i];
        ave = sum / i;
        int idx = cz(1, i, ave); // 这个idx会返回小于
        ans = max(ans, i - idx);
    }
    cout << ans << endl;
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

L - Candy Machine(二分+贪心) 的相关文章

随机推荐

  • 利用python做数据分析

    数据分析是指对数据进行控制 处理 整理 分析的过程 在这里 数据 是指结构化的数据 例如 记录 多维数组 Excel 里的数据 关系型数据库中的数据 数据表等 1 为什么要用python做数据分析 很多人都有兴趣选择python作为数据分析
  • 阿里P7大牛亲自教你!妈妈再也不用担心我的面试,讲的明明白白!

    第一次观看我文章的朋友 可以关注 点赞 转发一下 每天分享各种干货技术和程序猿趣事 前言 随着移动终端的快速发展 Android开发人员也越来越多 Android开发市场也进入了一个饱和的状态 Android开发人员也面临着难找一份好工作的
  • 虚拟机 服务器死机,VMware虚拟机开机卡死黑屏,进不了系统解决办法

    Vmware虚拟机Linux Ubuntu CentOS windowns开机启动卡死黑屏 想重置虚拟机又没有拍摄快照 重新装一次虚拟机 别着急 这里有个方法可以试一试 VMware 15 5 0 build 14665864 物理机操作系
  • python怎么算数据平均数,python怎样求10个数的平均数

    python怎样求10个数的平均数 发布时间 2021 03 12 09 18 47 来源 亿速云 阅读 100 作者 小新 这篇文章主要介绍了python怎样求10个数的平均数 具有一定借鉴价值 感兴趣的朋友可以参考下 希望大家阅读完这篇
  • Java JDBC快速上手

    一 JDBC介绍 JDBC Java DataBase Connectivity Java的数据库连接 JDBC 本质上是由sun公司开发的一套操作数据库的接口 规范 各个数据库厂商要想使用Java连接自己的数据库 都必须按照JDBC接口的
  • r如何让新增加的列出现在第一列 r如何调整新增加的列的位置

    https www cnblogs com liujiaxin2018 p 16211983 html 1 任意位置插入列 复制代码 gt a lt letters 1 5 gt b lt LETTERS 1 5 gt c lt sampl
  • 单元测试方法

    目录 一 单元测试概述 目录 一 单元测试概述 1 单元测试是什么呢 2 我们目前测试方法是怎么进行的 存在什么问题 3 Junit单元测试框架 4 JUnit优点 二 单元测试实现步骤 1 需求 使用单元测试进行业务方法预期结果 正确性测
  • AltiumDesigner下载安装

    原文来自公众号 工程师看海 AltiumDesigner的特点是交互人性化 上手简单 显示画面美观 是很多硬件工程师入门之选 在我的公众号 后台回复 altium designer 可以得到altium designer的安装包和和谐方法
  • 【ES】QueryBuilder构造ES查询条件:精准匹配、模糊搜索、范围查询、and、or

    private QueryBuilder getQueryBuilder termsQuery key obj1 obj2 一次匹配多个值 matchQuery key Obj 单个匹配 field不支持通配符 前缀具高级特性 multiM
  • Mysql分库分表方案

    Mysql分库分表方案 Mysql分库分表方案 1 为什么要分表 当一张表的数据达到几千万时 你查询一次所花的时间会变多 如果有联合查询的话 我想有可能会死在那儿了 分表的目的就在于此 减小数据库的负担 缩短查询时间 mysql中有一种机制
  • Hadoop知识点整理

    知识点大纲 一 初识Hadoop 1 mapreducer 和rdbms区别 2 结构化数据 非结构化数据 半结构化数据 3 hadoop发展历程 二 关于MapReducer 1 新老API对比 2 MapReducer 执行步骤 3 c
  • filebeat多个日志输出多条索引

    vim filebeat yml filebeat prospectors type log enabled true paths opt zcsy hbase logs hbase hadoop regionserver cd zcsy
  • Windows 10 安装Qt5.15.2以及vs2019

    Windows 10 安装Qt5 15 2以及vs2019 一 安装Qt5 15 2 下载Qt5 15 2 下载地址 阿里云盘 安装 Qt5 15 2 输入账号进行在线安装 点击NEXT进入下一步 注 账号密码需要去QT官网申请帐号 账号申
  • WebSocket + kafka实时推送数据(springboot纯后台)

    逻辑 kafka订阅消费者主题 消费后通过webSocket推送到前端 kafka vue financial webSocket 学习引用 SpringBoot2 0集成WebSocket 实现后台向前端推送信息 World Of Mos
  • Java_web初级学习01搭建环境

    一 安装jdk以及JAVA HOME JRE HOME配置 1 安装jdk 这里可以修改路径 2 设置JAVA HOME和JRE HOME环境变量 计算机 图标上右键 gt 属性 gt 高级系统设置 配置JAVA HOME环境变量 到jdk
  • nginx负载均衡之健康检查

    严格来说 nginx到目前为止没有针对负载均衡后端节点的健康检测的模块 但是可以通过upstream负载均衡组中的max fails number和fail timeout time来间接实现 但还是会把请求转发给故障服务器的 然后再转发给
  • 求最大子序列和及其位置(四种经典方法)

    算法部分 include
  • R

    ggplot plot 画图时 都会有自带的颜色配置 但是比较难看 个人偏向自定义颜色 当然也有很多现成好用的配色方案 如RColorBrewer包 RColorBrewer包 提供了3套很好的配色方案 连续型sequential 生成一系
  • Linux C++: error: redefinition of ‘class xxx’ 的解决方法

    我在Ubuntu上写C 运行程序时遇到error ThinkBook 15p data150 study projects 0408 g g src cpp I include o bin test01 In file included f
  • L - Candy Machine(二分+贪心)

    题意 大体就是查找大于等于这个选定集合的平均值个数的数 选定集合 分析 前提就是这个集合有序 这个可以反着理解当最后一个数加上前缀必然使平均值降低 然后大于平均的增多 不断贪心求最大 代码 include