Submission #399435

# Submission time Handle Problem Language Result Execution time Memory
399435 2021-05-05T19:25:49 Z winstonyin A Huge Tower (CEOI10_tower) C++11
100 / 100
309 ms 13944 KB
#include <string>
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <vector>
#include <cmath>
#include <array>
#include <map>
#include <set>
#include <fstream>
#include <unordered_map>
using namespace std;
using pi = pair<int, int>;
using pd = pair<double, double>; 
#define all(x) (x).begin(), (x).end()
#define ll long long
int main() {
    int nums, diff; cin >> nums >> diff;
    vector<ll> blocks;
    for(int i = 0; i < nums; i++) {
        ll temp; cin >> temp;
        blocks.push_back(temp);
    }
    sort(all(blocks), greater<ll>());
    ll possibilities = 1;
    int j = 0;
    for(int i = 0; i < nums; i++) {
        while(j < nums && blocks[i]- blocks[j] <= diff) {
            j++;
        }
        // cout << i << " " << j << endl;
        possibilities = (possibilities*(j - i))%(1000000000 + 9);
    }
    cout << possibilities;
    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 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 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 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 2 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 332 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 6 ms 588 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 27 ms 1352 KB Output is correct
2 Correct 35 ms 1328 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 169 ms 4776 KB Output is correct
2 Correct 127 ms 4732 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 300 ms 13944 KB Output is correct
2 Correct 309 ms 13524 KB Output is correct