PAT 1085. Perfect Sequence (25)
来源:互联网 发布:麻辣it网 编辑:程序博客网 时间:2024/05/18 06:27
一个很简单的题目,但是交了好几次都没有过,现在来分析一下:
第一次提交想当然的排序,然后找最小的,然后找到对应的最大值。
第二次是以为不是输出个数,是输出最大数,然后~
第三次终于想清楚了,遍历加二分,但是为啥还有一个没过呢,最后实在没办法查了一下资料,发现10^9 * 10 ^9超出int范围,改成long long就OK了
代码如下:
#include<iostream>#include<cstdio>#include<algorithm>using namespace std;int n;long long a[100005];int midSearch(int i,long long max){ int left = i,right = n; while(left < right) { int mid = (left + right)/2; if(a[mid] > max) { right = mid - 1; }else if(a[mid] < max) { left = mid +1; }else break; } if(a[(left + right)/2] == max) return (left + right)/2 - i +1; else return (left + right)/2 - i;}int main(){ int p; while(cin>>n>>p) { for(int i = 0; i < n; i++) cin>>a[i]; sort(a,a+n); int t = 0; for(int i = 0; i < n; i++) { long long max = a[i] * p; int number = midSearch(i,max); if(t <= number) t = number; } cout<<t<<endl; } return 0;}
0 0
- 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)
- 1085. Perfect Sequence (25) PAT
- PAT 1085. Perfect Sequence
- 【PAT】1085. Perfect Sequence
- PAT Perfect Sequence (25)
- PAT A 1085. Perfect Sequence (25)
- PAT 1085. Perfect Sequence (25)(二分查找)
- PAT甲级练习1085. Perfect Sequence (25)
- PAT-A 1085. Perfect Sequence (25)
- PAT-A-1085. Perfect Sequence (25)
- 【C#/GDI】简单图像处理方法
- eclipse中安装tomcat插件
- CocoaPods安装和使用教程:出处:http://code4app.com/article/cocoapods-install-usage
- iOS项目代码行数统计
- java代码中将金额阿拉伯数字转化为中文大写
- PAT 1085. Perfect Sequence (25)
- label在cell中 自适应
- [Android] AsyncTask 的学习
- 好用的http工具
- Apache Shiro 集成-Cas
- win7开启无线共享上网
- RYU入门教程
- 如何允许跨域?什么是Access-Control-Allow-Origin:*
- java 开发微型公众账号应用