Submission #433503

# Submission time Handle Problem Language Result Execution time Memory
433503 2021-06-19T22:52:24 Z joshualiu555 A Huge Tower (CEOI10_tower) C++14
100 / 100
135 ms 8080 KB
#include <fstream>
#include <iostream>
#include <iomanip>
#include <algorithm>
#include <numeric>
#include <vector>
#include <set>
#include <map>
#include <cmath>
#include <cstring>
#include <climits>

using namespace std;

using ll = long long;
const int INF = 2e5 + 5;
const int MOD = 1e9 + 9;

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

    //ifstream fin(".in");
    //ofstream fout(".out");

    int n, d;
    cin >> n >> d;
    int x[n];
    for (int i = 0; i < n; i++) cin >> x[i];
    sort(x, x + n);

    ll ans = 1;
    int j = 0;
    for (int i = 0; i < n; i++) {
        while (x[j + 1] - x[i] <= d && j < n - 1) j++;
        int distance = j - i + 1;
        ans = (1ll * ans * distance) % MOD;
    }

    cout << ans;

    return 0;
}

//
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 332 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 11 ms 500 KB Output is correct
2 Correct 11 ms 504 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 54 ms 1532 KB Output is correct
2 Correct 63 ms 3696 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 114 ms 6652 KB Output is correct
2 Correct 135 ms 8080 KB Output is correct