1030 完美數列

2022-10-10 19:54:13 字數 803 閱讀 6124

two pointers,先將數列公升序排序,然後查詢最長完美數列。詳解見另一篇部落格。

1/*2

1030. 完美數列3*/

45 #include 6 #include

7 #include 8 #include 9 #include 10

11#define maxn 100002

12int num[maxn] = ;

1314

int cmp(const

void* a, const

void*b)

1718

intmain()

24//

將陣列公升序排序

25 qsort(num, n, sizeof(int

), cmp);

26int result = 0; //

儲存當前求得的最大長度

27for(i=0; i//

序列開始位置

28for(j=i+result; j//

使用當前最大長度

29if((double)num[j]/num[i]<=p)

33 } else36}

37}38 printf("%d"

, result);

3940

return0;

41 }

1030 完美數列

給定乙個正整數數列,和正整數p,設這個數列中的最大值是m,最小值是m,如果m m p,則稱這個數列是完美數列。現在給定引數p和一些正整數,請你從中選擇盡可能多的數構成乙個完美數列。輸入格式 輸入第一行給出兩個正整數n和p,其中n 105 是輸入的正整數的個數,p 109 是給定的引數。第二行給出n個...

1030 完美數列

1030.完美數列 給定乙個正整數數列,和正整數p,設這個數列中的最大值是m,最小值是m,如果m m p,則稱這個數列是完美數列。現在給定引數p和一些正整數,請你從中選擇盡可能多的數構成乙個完美數列。輸入格式 輸入第一行給出兩個正整數n和p,其中n 105 是輸入的正整數的個數,p 109 是給定的...

1030 完美數列

給定乙個正整數數列,和正整數p,設這個數列中的最大值是m,最小值是m,如果m m p,則稱這個數列是完美數列。現在給定引數p和一些正整數,請你從中選擇盡可能多的數構成乙個完美數列。輸入格式 輸入第一行給出兩個正整數n和p,其中n 105 是輸入的正整數的個數,p 109 是給定的引數。第二行給出n個...