第一次非ac**
邏輯不夠嚴謹
#include#include#includeusing namespace std;
#define max 100000
long long arr[max];
int main()
sort(arr,arr+n);
long long min=arr[0];
for( i=n-1; i>=0; i-- )
}cout<
第二次非ac**
演算法不夠高效
#include#include#includeusing namespace std;
#define max 100000
long long arr[max];
int main()
sort(arr,arr+n);
long long min=arr[0];
for( i=n-1; i>=0; i-- )
}cout<
執行結果如下圖
ac**:
#include#include#includeusing namespace std;
#define max 100000
long long arr[max+1];
int main()
sort(arr,arr+n);
for( j=0; jans )
}else
break;
}cout<
後來的邏輯是 每次開始查詢的範圍隨著ans的值增大不斷縮減
換言之 就是我經過一次遍歷後 已經確定了較大的ans值 在下一次遍歷的時候我就從 j+ans 值位置開始
類似於kmp的一步跨越盡可能多的元素個數
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個...