PAT甲级——A1085 Perfect Sequence

Posted zzw1024

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PAT甲级——A1085 Perfect Sequence相关的知识,希望对你有一定的参考价值。

Given a sequence of positive integers and another positive integer p. The sequence is said to be a perfect sequence if Mm×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 (≤) is the number of integers in the sequence, and p (≤) is the parameter. In the second line there are N positive integers, each is no greater than 1.

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 8
2 3 20 4 5 1 6 7 8 9

Sample Output:

8

又是没看清题,这道题的子序列不需要是原来的连续子序列,只要求是原来里面的值就行,搞得又浪费了很多时间!!!!

 1 //靠,不需要是子排序,就是找数字就行
 2 #include <iostream>
 3 #include <deque>
 4 #include <vector>
 5 #include <algorithm>
 6 using namespace std;
 7 int N;
 8 long long P;
 9 int main()
10 
11     cin >> N >> P;
12     vector<int>num(N);
13     for (int i = 0; i < N; ++i)
14         cin >> num[i];
15     sort(num.begin(), num.end());
16     int res = 0;
17     for(int L=0,R=0;L<=R && R<N;++R)
18     
19         while (L <= R && num[R] > P * num[L])
20             L++;
21         res = res > R - L + 1 ? res : R - L + 1;        
22     
23     cout << res << endl;
24     return 0;
25 

 

以上是关于PAT甲级——A1085 Perfect Sequence的主要内容,如果未能解决你的问题,请参考以下文章

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

pat甲级75分在啥水平

pat甲级没做出来没有分吗

pat甲级60分啥水平

pat可以直接考甲级吗

PAT Perfect Sequence (25)