Submission #654311

# Submission time Handle Problem Language Result Execution time Memory
654311 2022-10-30T23:15:55 Z megargayu A Huge Tower (CEOI10_tower) C++17
100 / 100
287 ms 45032 KB
// https://oj.uz/problem/view/CEOI10_tower

#include <bits/stdc++.h>
using namespace std;

#define ll long long
#define MOD ((ll)1e9 + 9)
#define MAX_N 1e7

vector<int> a(MAX_N);

// TODO

int main()
{
  int N, D;
  cin >> N >> D;

  if (N > MAX_N)
    return N;

  for (int i = 0; i < N; ++i)
    cin >> a[i];

  sort(a.begin(), a.begin() + N);

  ll ans = 1;
  int j = 0;
  for (int i = 0; i < N; ++i)
  {
    while (j < N - 1 && a[j + 1] - a[i] <= D) ++j;
    ans = (ans * static_cast<ll>(j - i + 1)) % MOD;
  }

  cout << ans << '\n';

  return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 16 ms 39380 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 17 ms 39412 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 18 ms 39380 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 19 ms 39424 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 16 ms 39380 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 16 ms 39508 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 17 ms 39380 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 15 ms 39448 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 16 ms 39432 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 17 ms 39380 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 17 ms 39380 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 18 ms 39364 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 21 ms 39380 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 19 ms 39464 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 16 ms 39380 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 21 ms 39372 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 23 ms 39380 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 41 ms 39424 KB Output is correct
2 Correct 39 ms 39336 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 135 ms 41480 KB Output is correct
2 Correct 138 ms 41844 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 286 ms 45032 KB Output is correct
2 Correct 287 ms 44916 KB Output is correct