제출 #1177955

#제출 시각아이디문제언어결과실행 시간메모리
1177955ericl23302A Huge Tower (CEOI10_tower)C++20
30 / 100
68 ms7492 KiB
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);

    int n, d; cin >> n >> d;
    vector<int> blocks(n);
    for (int &i: blocks) cin >> i;
    sort(blocks.begin(), blocks.end());
    vector<int> canPlace(n, 0);
    int cur = n - 1;
    for (int i = n - 1; i >= 0; --i) {
        while (cur >= 0 && blocks[i] - blocks[cur] <= d) --cur;
        canPlace[i] = n - cur - 2;
    }

    vector<int> res(n, 1);
    for (int i = 1; i < n; ++i) res[i] = res[i - 1] * (i - n + canPlace[i] + 2);
    // for (int &i : canPlace) cout << i << ' ';
    // cout << '\n';
    // for (int &i : res) cout << i << ' ';
    // cout << '\n';
    cout << res.back() << '\n';

    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...