原題下載
答案:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> A;
int main() {
int N, K, B;
cin >> N >> K >> B;
A.resize(B);
for (int i = 0; i < B; i++) {
cin >> A[i];
}
sort(A.begin(), A.end());
int hia = 0;
while (hia < B && A[hia] <= K) {
hia++;
}
int result = hia;
for (int i = 0; i < B; i++) {
if (A[i] + K > N) {
break;
}
while (hia < B && A[hia] <= A[i] + K) {
hia++;
}
result = min(result, hia - i - 1);
}
cout << result << endl;
return 0;
}

以上就是關于【USACO 2017 February Contest, Silver Problem 2. Why Did the Cow Cross the Road II】的解答,如需了解學校/賽事/課程動態,可至翰林教育官網獲取更多信息。
往期文章閱讀推薦:
2026 NOAI國際AI奧賽中國站即將開考!賽事地址&日程已出!
2027 USAAIO美國AI奧賽啟動報名!MIT/谷歌/Jane Street集體站臺!

? 2026. All Rights Reserved. 滬ICP備2023009024號-1