pat 2 레벨 1030C 언어
정수 수열과 정수 p를 정하고 이 수열의 최대 값은 M이고, 최소 값은 m이며, 만약 M≤mp라면 이 수열은 완벽한 수열이라고 한다.현재 매개 변수 p와 정수를 정합니다. 가능한 한 많은 수를 선택하여 완벽한 수열을 구성하십시오.입력 형식:
첫 번째 줄을 입력하면 두 개의 정수 N과 p가 나오는데 그 중에서 N(≤100000)은 입력한 정수의 개수이고 p(≤10의 9회)는 주어진 매개 변수이다.두 번째 행에는 각 수가 10을 초과하지 않는 9회의 양의 정수가 N씩 표시됩니다.출력 형식:
한 줄에서 출력할 수 있는 최대 몇 개의 수를 선택하여 그것들로 완벽한 수열을 만들 수 있습니다.
사고의 방향
stdlib 라이브러리의 qsort를 사용하여 빠른 정렬을 하고 정렬 후 옮겨다니기
#include
#include
int cmp(const void *a, const void *b)
{
return *(long long *)a - *(long long *)b;
}
int main()
{
int N=0,p,temp=0;
scanf("%d %d",&N,&p);
long long a[N],n;
for(int i=0;i<N;i++)
{
scanf("%lld",&a[i]);
}
qsort(a, N, sizeof(long long), cmp);
int max=0;
for(int i=0;i+max<N;i++)//
{
for(int j=i+max;j<N;j++)
{
if(a[j]<=a[i]*p) max++;//
else break;//
}
}
printf("%d",max);
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
PAT 01-2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.