1085. Perfect Sequence (25)
来源:互联网 发布:查看进程占用端口 编辑:程序博客网 时间:2024/06/09 15:56
Given a sequence of positive integers and another positive integer p. The sequence is said to be a "perfect sequence" if M <= m * p where M and m are the maximum and minimum numbers in the sequence, respectively.
Now given a sequence and a parameter p, you are supposed to find from the sequence as many numbers as possible to form a perfect subsequence.
Input Specification:
Each input file contains one test case. For each case, the first line contains two positive integers N and p, where N (<= 105) is the number of integers in the sequence, and p (<= 109) is the parameter. In the second line there are N positive integers, each is no greater than 109.
Output Specification:
For each test case, print in one line the maximum number of integers that can be chosen to form a perfect subsequence.
Sample Input:10 82 3 20 4 5 1 6 7 8 9Sample Output:
8
//1085#include<iostream>#include<vector>#include<algorithm>using namespace std;int main(){int n,p;scanf("%d%d",&n,&p);vector<long>seq;seq.resize(n);for(int i=0;i<n;++i)scanf("%ld",&seq[i]);sort(seq.begin(),seq.end());int maxcount=0,down=1;for(int i=0;i<n;++i){//reuse the answer 'down' can reduce the calculating timelong max=p*seq[i];if(max>=seq[n-1]){//if all the element behind i is smaller than max //they all need to be counted and the loop could be stoppedmaxcount=n-i>maxcount?n-i:maxcount;break;}int up=n-1;while(up>down){//binary searchint mid=(up+down)/2;if(seq[mid]>max)up=mid;else if(seq[mid]<max)down=mid+1;else{down=mid+1;break;}}if(down-i>maxcount)maxcount=down-i;}printf("%d\n",maxcount);return 0;}
- 1085. Perfect Sequence (25)
- 1085. Perfect Sequence (25)
- 1085. Perfect Sequence (25)
- 1085. Perfect Sequence (25)
- 1085. Perfect Sequence (25)
- 1085. Perfect Sequence (25)
- 1085. Perfect Sequence (25)
- 1085. Perfect Sequence (25)
- 1085. Perfect Sequence (25)
- 1085. Perfect Sequence (25)
- 1085. Perfect Sequence (25)
- 1085. Perfect Sequence (25)
- 1085. Perfect Sequence (25)
- 1085. Perfect Sequence (25)
- 1085. Perfect Sequence (25)
- 1085. Perfect Sequence (25)
- 1085. Perfect Sequence (25)
- 1085. Perfect Sequence (25)
- 00-自测4. Have Fun with Numbers (20)
- 1084. Broken Keyboard (20)
- 一个项目经理的一些个人体会
- Codeforces 521A - DNA Alignment (思维)
- 盗号!!!
- 1085. Perfect Sequence (25)
- 1086. Tree Traversals Again (25)
- vector<int>::size_type 解释
- JavaScript基础知识
- ps命令
- C里各数据类型的大小.
- 2015-3-1人性是经不住考验的
- 狼来了,海康威视被黑客入侵,视频监控设备被境外IP地址控制
- android菜单的使用