码迷,mamicode.com
首页 > 其他好文 > 详细

PAT甲级——A1085 Perfect Sequence

时间:2019-08-12 01:20:50      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:

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

标签:

原文地址:https://www.cnblogs.com/zzw1024/p/11337278.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!