原題:
測試用例:
// 正常測試
10 8
2 3 20 4 5 1 6 7 8 9
output: 8
// 最小值不是第一項
10 8
2 3 15 4 5 1 6 7 8 9
output: 9
// 最大值重複
10 8
2 3 20 4 5 1 6 7 8 8
output: 9
// 全部都比 min*p 小
10 8
1 2 2 2 5 5 5 5 5 7
output: 10
思路: 首先題意不能理解錯, 最小值不一定是排序後, 第一項.
其次要考慮, 全部數列都能用上的情況, 以及最大值並列的情況, 核心**不超過10行, 大家仔細
分析下.
完整實現:
#include #include int compare (const void *a, const void *b);
int main(void)
count = j;
if (count > n) break;
}printf("%ld\n", number);
// printf("%ld\n", count);
return 0;
}// 從小到大排序
int compare (const void *a, const void *b)
參考: 1030 完美數列 25
1030.完美數列 25 給定乙個正整數數列,和正整數p,設這個數列中的最大值是m,最小值是m,如果m m p,則稱這個數列是完美數列。現在給定引數p和一些正整數,請你從中選擇盡可能多的數構成乙個完美數列。輸入格式 輸入第一行給出兩個正整數n和p,其中n 105 是輸入的正整數的個數,p 109 是...
1030 完美數列 25
給定乙個正整數數列,和正整數p,設這個數列中的最大值是m,最小值是m,如果m m p,則稱這個數列是完美數列。現在給定引數p和一些正整數,請你從中選擇盡可能多的數構成乙個完美數列。輸入格式 輸入第一行給出兩個正整數n和p,其中n 105 是輸入的正整數的個數,p 109 是給定的引數。第二行給出n個...
1030 完美數列 25
給定乙個正整數數列,和正整數p,設這個數列中的最大值是m,最小值是m,如果m m p,則稱這個數列是完美數列。現在給定引數p和一些正整數,請你從中選擇盡可能多的數構成乙個完美數列。輸入格式 輸入第一行給出兩個正整數n和p,其中n 105 是輸入的正整數的個數,p 109 是給定的引數。第二行給出n個...