题意

给我们一个数串 让我们从中挑选数字 构成一个集合
使得集合中最小元素m和最大元素M 满足 m*p>=M
求出集合的最大数量

分析

看下条件就可以发现 m*p >=M
也就是在数串中找m*p>=x
x的上界
那么排下序二分找即可

code

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int a[100010];
int main()
{ll n,p;scanf("%lld%lld",&n,&p);for(int i=1;i<=n;i++)scanf("%d",&a[i]);sort(a+1,a+1+n);int ans=0;for(int i=1;i<=n;i++){ll lim = a[i]*p;int l=1,r = n,mid;while(l<=r){mid = l+r>>1;if(lim>=a[mid])l = mid+1;else r = mid-1;}l = min(l,(int)n+1);ans = max(ans,l-i); }printf("%d\n",ans);return 0;
} 

pat 1085 Perfect Sequence (25) 二分查找相关推荐

  1. 1085. Perfect Sequence (25)-PAT甲级真题

    Given a sequence of positive integers and another positive integer p. The sequence is said to be a & ...

  2. pat1085. Perfect Sequence (25)

    1085. Perfect Sequence (25) 时间限制 300 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CAO, Peng Give ...

  3. PAT甲级1085 Perfect Sequence :[C++题解]双指针

    文章目录 题目分析 题目来源 题目分析 来源:acwing 分析:求满足条件M≤m×pM \leq m\times pM≤m×p的区间[m, M]最长是多少.此处有一性质:当最大值M变大的时候,最小值 ...

  4. 1085 Perfect Sequence

    明确题目的核心是要找到 找到第一个满足 M > m*p 的M的下标.然后用该下标减去起点的下标即为序列元素个数. 二分区间应当是M所有可能的取值范围.起点是i+1,终点是N而不是N-1,虽然A[ ...

  5. PAT 1085 PAT单位排行(25)(映射、集合训练)

    1085 PAT单位排行(25 分) 每次 PAT 考试结束后,考试中心都会发布一个考生单位排行榜.本题就请你实现这个功能. 输入格式: 输入第一行给出一个正整数 N(≤10​5​​),即考生人数.随 ...

  6. PTA 7-13 列车调度 (25 分) C语言和C++实现(二分查找)

    7-13 列车调度 (25 分) 火车站的列车调度铁轨的结构如下图所示. 两端分别是一条入口(Entrance)轨道和一条出口(Exit)轨道,它们之间有N条平行的轨道.每趟列车从入口可以选择任意一条 ...

  7. 【PAT (Advanced Level) Practice】1051 Pop Sequence (25 分)

    1051 Pop Sequence (25 分) Given a stack which can keep M numbers at most. Push N numbers in the order ...

  8. 【PAT甲】1051 Pop Sequence (25分)判断出栈顺序的合法性

    problem 1051 Pop Sequence (25分) Given a stack which can keep M numbers at most. Push N numbers in th ...

  9. [二分查找] [luoguP3500] [POI2010] TES-Intelligence Test

    题目描述 One of the tasks in the Byteotian Intelligence Test (BIT) is to cross out numbers from an initi ...

最新文章

  1. 获取ISAPI_Rewrite重写后的URL
  2. Ran out of input
  3. python注册登录系统_Python实现简单用户注册信息管理系统
  4. 如何在mac上编写java程序_在mac系统上安装Eclipse,编写java程序
  5. 解决Lync Server前端必备组件Wmf2008R2安装失败
  6. 大并发下Timeout waiting for connection from pool 解决方案
  7. 《天天数学》连载09:一月九日
  8. 很好的一款监控web请求的工具,fiddler.
  9. Python3 - 基础知识、基本了解
  10. fir.im Weekly - 从零开始创建 Android 新项目
  11. vue php 架构目录,vuex 项目结构目录及一些简单配置介绍
  12. es6入门到五连绝世之双杀(double kill)
  13. PCL点云去中心化demean
  14. 恒玄BES调试笔记-BES2500啸叫howling
  15. 中国IT风险投资机构
  16. godot引擎学习4
  17. MacOS图标文件 .icns 一键生成脚本
  18. 阿里mysql迁移mongodb_快速掌握 MongoDB 数据库
  19. JS小练习:使用JavaScript实现点击‘上一张’,‘下一张’循环播放图片
  20. 快捷支付各种绑卡鉴权方式

热门文章

  1. Gym 100917J---Judgement(01背包+bitset)
  2. EntityFramework的安装
  3. Linux设备驱动程序学习(4) -高级字符驱动程序操作[(1)ioctl and llseek]
  4. C# 格式化字符串 String.Format
  5. java jsp 传递参数的方法,jsp传参方法小结
  6. python考试有什么用_Python有什么用?2020年学习Python的10个理由
  7. ScrollView嵌套ViewPager,ViewPage动态设置高度,嵌套事件冲突——滑动冲突解决方法
  8. android 获取系统时间的时间戳 ,时间戳日期互转,计算日期时间差,获取明天日期,比较时间大小
  9. js随机从数组中取出几个元素
  10. centos7 firewall防火墙实现映射其他机器的端口