Submission #499238

# Submission time Handle Problem Language Result Execution time Memory
499238 2021-12-27T13:51:27 Z imaginary_unit A Huge Tower (CEOI10_tower) C++17
100 / 100
269 ms 8748 KB
#include <bits/stdc++.h>
#define ll long long
#define fi first
#define se second
using namespace std;

const int MOD=1e9+9;

int main()
{
    //freopen("truth.in", "r", stdin);
    //freopen("truth.out", "w", stdout);

    int n, d;
    cin >> n >> d;
    int a[n];
    for(int i=0; i<n; i++){
        cin >> a[i];
    }
    sort(a, a+n);
    int r=0, ans=1;
    for(int l=0; l<n; l++){
        while(r<n-1 && a[r+1]-a[l]<=d){
            r++;
        }
        int dist=r-l+1;
        ans=(ans*1LL*dist)%MOD;
    }
    cout << ans;
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 288 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 0 ms 288 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 292 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 292 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 272 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 220 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 300 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 336 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 6 ms 332 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 22 ms 956 KB Output is correct
2 Correct 27 ms 956 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 130 ms 3688 KB Output is correct
2 Correct 126 ms 3692 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 267 ms 8748 KB Output is correct
2 Correct 269 ms 8052 KB Output is correct