zoukankan      html  css  js  c++  java
  • 1085. Perfect Sequence (25)

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

    Sample Output:

    8

    #include<iostream>
    #include<vector>
    #include<cstdio>
    #include<algorithm>
    using namespace std;
    int main(){
    	int n,p;
    	scanf("%d%d",&n,&p);
    	vector<long>vt;
    	int i,j,val;
    	for(i=0;i<n;i++){
    		scanf("%ld",&val);
    		vt.push_back(val);
    	}
    	sort(vt.begin(),vt.end());
    	int left=1,right=0;
    	int length=0;
    	int len=0;
    	for(i=0;i<n;i++){
    		long tmp = p*vt[i];
    		if(tmp>=vt[n-1]){
    			if(len < n-i){
    				len=n-i;
    			}
    			break;
    		}
    		int right=n-1;
    		while(right>left){
    			int mid=(right+left)/2;
    			if(vt[mid]>tmp){
    				right=mid;
    			}else if(vt[mid]<tmp){
    				left=mid+1;
    			}else {
    				left=mid+1;
    				break;
    			}
    		}
    		if(left-i>len){
    			len=left-i;
    		}
    	}
    	printf("%d
    ",len);
    	return 0;
    } 
    

      





  • 相关阅读:
    virtual
    微软MBS intern笔试
    Ubuntu Linux Green hand
    Coding style
    abstract
    Jquery Ajax请求标准格式
    Hashtable的简单实用
    C#中GET和POST的简单区别
    WIN7 64位机与32位机有什么区别
    一个加密解密类
  • 原文地址:https://www.cnblogs.com/grglym/p/8047295.html
Copyright © 2011-2022 走看看