トピック
正の整数と正の整数のシーケンスを考えるのPP P、このシーケンスの最大値があること聞かせMM Mと最小値はミリメートルならば、M≤MP M \ルMP M ≤ M pは、その後、シーケンスは完璧と呼ばれていますシーケンス。
ここで、与えられたパラメータPP 、p-、およびいくつかの正の整数です。完全な系列を構成する数が多いので、選択してください。
入力フォーマット:
最初の行の入力は、2つの正の整数で与えNN N及びPP P、NN N(≤0 1 5 \ ^ル。5 10 ≤を1 0 ?5 ??)入力の正の整数の数であり、PP P(≤0 9 1 \ルは10 ^ 9 ≤ 1 0 ?9 ??)パラメータが与えられます。2行目は、与えNN N数の各越えない正の整数で、10 910 ^ 9 。1 0 ?9 ??。
出力フォーマット:
行出力で選択できる最大数の数値を使用して、完全数シーケンスを形成できます。
入力サンプル:
10 8
2 3 20 4 5 1 6 7 8 9
サンプル出力:
8
コード
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int N, p,num,min,max,stat,maxx=1,maxxx;
cin >> N >> p;
int* a = new int[N];
for (num = 0; num < N; num++)
cin >> a[num];
sort(a,a+N);
for (stat = 0; stat < N; stat++)
{
min = a[stat];
if (N - stat > maxx)
{
maxxx = 0;
for (num = stat+maxx-1; num <N; num++)
{
max = a[num];
if (float(max) / float(p) <= float(min))
maxxx = num - stat + 1;
else
break;
}
if (maxxx > maxx)
maxx = maxxx;
}
else
break;
}
cout << maxx;
return 0;
}