Submission #886517

# Submission time Handle Problem Language Result Execution time Memory
886517 2023-12-12T09:15:45 Z stefanneagu A Huge Tower (CEOI10_tower) C++17
30 / 100
210 ms 4516 KB
#include <bits/stdc++.h>
using namespace std;

const int nmax = 1e6 + 1, mod = 1e9 + 9;

int v[nmax], n, h;
long long ans;
bool f[nmax];

void dfs(int x, int cnt) {
  if(cnt == n) {
    ans ++;
  }
  for(int i = 1; i <= n; i ++) {
    if(!f[i] && v[x] + h >= v[i]) {
      f[i] = 1;
      dfs(i, cnt + 1);
      f[i] = 0;
    }
  }
}

int main() {
  cin >> n >> h;
  for(int i = 1; i <= n; i ++) {
    cin >> v[i];
  }
  sort(v + 1, v + n + 1, greater<int>());
  if(n > 14) {
    int curr = 1;
    ans = 1;
    for(int i = 1; i <= n; i ++) {
      if(v[curr] > v[i] + h) {
          curr ++;
      }
      ans = ans * (i - curr + 1);
      ans %= mod;
    }
    cout << ans;
    return 0;
  }

  for(int i = 1; i <= n; i ++) {
    f[i] = 1;
    dfs(i, 1);
    f[i] = 0;
  }
  cout << ans;
  return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2396 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2392 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 76 ms 2392 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 11 ms 2392 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 2396 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2392 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 2396 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 2396 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 2396 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 2396 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 2396 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 2396 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2396 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 2396 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 2396 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 2396 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 4 ms 2392 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 21 ms 2396 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 85 ms 2464 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 210 ms 4516 KB Output isn't correct
2 Halted 0 ms 0 KB -