1085. Perfect Sequence (25)-水题

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <string.h>
#include <cmath>

using namespace std;
const int maxn=100000+5;
long long a[maxn];
int main()
{
    int n,p;
    scanf("%d %d",&n,&p);
    int minidx=0;
    for(int i=0;i<n;i++){
        scanf("%lld",&a[i]);
    }
    sort(a,a+n);
    int cnt=0,maxlen=0;
    for(int i=0;i<n;i++){
        if(a[i]<=a[minidx]*p){
            cnt++;
        }
        else{
            if(cnt>maxlen)
                maxlen=cnt;
            minidx++;
            cnt--;
            i--;
        }
    }
    //最后不要忘了还要判断下。。。
    if(cnt>maxlen)
        maxlen=cnt;
    printf("%d
",maxlen);
    return 0;
}
View Code
原文地址:https://www.cnblogs.com/chenxiwenruo/p/6388963.html