pat 1085 Perfect Sequence (25) 二分查找
来源:互联网 发布:多益网络行政面试 编辑:程序博客网 时间:2024/06/01 07:21
题意
给我们一个数串 让我们从中挑选数字 构成一个集合
使得集合中最小元素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;}
阅读全文
0 0
- pat 1085 Perfect Sequence (25) 二分查找
- PAT--1085 Perfect Sequence(二分查找)
- PAT 1085. Perfect Sequence (25)(二分查找)
- 1085. Perfect Sequence (25) -二分查找
- 1085. Perfect Sequence (25)【二分查找】——PAT (Advanced Level) Practise
- pat 1085 Perfect Sequence
- PAT Perfect Sequence (25)
- pat 1085. Perfect Sequence (25)
- PAT 1085. Perfect Sequence (25)
- pat 1085. Perfect Sequence (25)
- PAT 1085. Perfect Sequence (25)
- 【PAT】1085. Perfect Sequence (25)
- PAT 1085. Perfect Sequence (25)
- pat 1085. Perfect Sequence (25)
- PAT 1085. Perfect Sequence (25)
- 【PAT】 1085. Perfect Sequence (25)
- PAT-A1085. Perfect Sequence (25)
- 1085. Perfect Sequence (25) PAT
- 7种CSS选择器
- 关于蓝桥杯十六进制转八进制
- 【6-10】LeetCode:Python解题
- 分布式开发-- RPC原理及实现
- struct Kernel_Thread* Get_Next_Runnable(void) { struct Kernel_Thread* best = 0; /* Find the
- pat 1085 Perfect Sequence (25) 二分查找
- SpringMVC @SessionAttributes 使用详解以及源码分析
- 矩阵快速幂优化
- STP原理与配置
- C/C++操作符重载、string vector map
- 2017中国人工智能产业报告 (深度解析)
- Python学习记录2——让函数实参变成可选的
- 珂朵莉与宇宙(暴力)
- ActiveMq之消息的优先级-yellowcong