QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#644134#117. Asceticism0x3b800001100 ✓33ms3672kbC++14854b2024-10-16 11:10:212024-10-16 11:10:21

Judging History

你现在查看的是最新测评结果

  • [2024-10-16 11:10:21]
  • 评测
  • 测评结果:100
  • 用时:33ms
  • 内存:3672kb
  • [2024-10-16 11:10:21]
  • 提交

answer

#include <iostream>

constexpr int mod = 0x3b9aca07;
int qpow(long long p, int q = mod - 2) {
  int ans = 1;
  while (q != 0) {
    if ((q & 1) != 0) {
      ans = ans * p % mod;
    }
    p = p * p % mod, q >>= 1;
  }
  return ans;
}
int n, k;

int main() {
  std::cin.tie(nullptr)->sync_with_stdio(false);
  std::cin >> n >> k, --k;
  int C = 1;
  for (int i = 1; i <= n + 1; ++i) {
    C = 1LL * C * i % mod;
  }
  for (int i = 1; i <= k + 1; ++i) {
    C = 1LL * C * qpow(i) % mod;
  }
  for (int i = 1; i <= n - k; ++i) {
    C = 1LL * C * qpow(i) % mod;
  }
  int ans = 0;
  for (int i = 0; i <= n - k; ++i) {
    ans = (ans + 1LL * qpow(i, n) * qpow(mod - 1, n - i - k) % mod * C) % mod;
    C = 1LL * C * (n - i - k) % mod;
    C = 1LL * C * qpow(i + k + 2) % mod;
  }
  std::cout << ans << '\n';
  return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 4
Accepted

Test #1:

score: 4
Accepted
time: 0ms
memory: 3512kb

input:

1 1

output:

1

result:

ok single line: '1'

Test #2:

score: 4
Accepted
time: 0ms
memory: 3672kb

input:

10 10

output:

1

result:

ok single line: '1'

Test #3:

score: 4
Accepted
time: 0ms
memory: 3636kb

input:

10 2

output:

1013

result:

ok single line: '1013'

Test #4:

score: 4
Accepted
time: 0ms
memory: 3612kb

input:

10 1

output:

1

result:

ok single line: '1'

Test #5:

score: 4
Accepted
time: 0ms
memory: 3548kb

input:

10 7

output:

455192

result:

ok single line: '455192'

Test #6:

score: 4
Accepted
time: 0ms
memory: 3604kb

input:

8 3

output:

4293

result:

ok single line: '4293'

Test #7:

score: 4
Accepted
time: 0ms
memory: 3556kb

input:

9 6

output:

88234

result:

ok single line: '88234'

Test #8:

score: 4
Accepted
time: 0ms
memory: 3492kb

input:

3 3

output:

1

result:

ok single line: '1'

Test #9:

score: 4
Accepted
time: 0ms
memory: 3572kb

input:

5 2

output:

26

result:

ok single line: '26'

Test #10:

score: 4
Accepted
time: 0ms
memory: 3616kb

input:

7 5

output:

1191

result:

ok single line: '1191'

Subtask #2:

score: 20
Accepted

Dependency #1:

100%
Accepted

Test #11:

score: 20
Accepted
time: 0ms
memory: 3576kb

input:

100 48

output:

491709703

result:

ok single line: '491709703'

Test #12:

score: 20
Accepted
time: 0ms
memory: 3532kb

input:

300 1

output:

1

result:

ok single line: '1'

Test #13:

score: 20
Accepted
time: 0ms
memory: 3580kb

input:

300 2

output:

322050458

result:

ok single line: '322050458'

Test #14:

score: 20
Accepted
time: 0ms
memory: 3664kb

input:

300 123

output:

562526258

result:

ok single line: '562526258'

Test #15:

score: 20
Accepted
time: 0ms
memory: 3576kb

input:

300 295

output:

713150320

result:

ok single line: '713150320'

Test #16:

score: 20
Accepted
time: 0ms
memory: 3604kb

input:

300 300

output:

1

result:

ok single line: '1'

Test #17:

score: 20
Accepted
time: 0ms
memory: 3580kb

input:

199 28

output:

168902681

result:

ok single line: '168902681'

Test #18:

score: 20
Accepted
time: 0ms
memory: 3616kb

input:

253 152

output:

68568956

result:

ok single line: '68568956'

Test #19:

score: 20
Accepted
time: 0ms
memory: 3668kb

input:

135 124

output:

736486204

result:

ok single line: '736486204'

Test #20:

score: 20
Accepted
time: 0ms
memory: 3664kb

input:

13 11

output:

1479726

result:

ok single line: '1479726'

Subtask #3:

score: 25
Accepted

Dependency #1:

100%
Accepted

Dependency #2:

100%
Accepted

Test #21:

score: 25
Accepted
time: 1ms
memory: 3636kb

input:

1000 1

output:

1

result:

ok single line: '1'

Test #22:

score: 25
Accepted
time: 1ms
memory: 3552kb

input:

1000 2

output:

688422209

result:

ok single line: '688422209'

Test #23:

score: 25
Accepted
time: 1ms
memory: 3660kb

input:

1000 452

output:

103920245

result:

ok single line: '103920245'

Test #24:

score: 25
Accepted
time: 1ms
memory: 3608kb

input:

1000 504

output:

359395606

result:

ok single line: '359395606'

Test #25:

score: 25
Accepted
time: 0ms
memory: 3604kb

input:

1000 952

output:

419943092

result:

ok single line: '419943092'

Test #26:

score: 25
Accepted
time: 0ms
memory: 3608kb

input:

1000 998

output:

945760313

result:

ok single line: '945760313'

Test #27:

score: 25
Accepted
time: 0ms
memory: 3612kb

input:

1000 1000

output:

1

result:

ok single line: '1'

Test #28:

score: 25
Accepted
time: 0ms
memory: 3576kb

input:

603 536

output:

797752199

result:

ok single line: '797752199'

Test #29:

score: 25
Accepted
time: 0ms
memory: 3544kb

input:

194 115

output:

19316534

result:

ok single line: '19316534'

Test #30:

score: 25
Accepted
time: 0ms
memory: 3572kb

input:

995 965

output:

79761626

result:

ok single line: '79761626'

Subtask #4:

score: 51
Accepted

Dependency #1:

100%
Accepted

Dependency #2:

100%
Accepted

Dependency #3:

100%
Accepted

Test #31:

score: 51
Accepted
time: 33ms
memory: 3592kb

input:

100000 1

output:

1

result:

ok single line: '1'

Test #32:

score: 51
Accepted
time: 32ms
memory: 3548kb

input:

100000 5

output:

979545239

result:

ok single line: '979545239'

Test #33:

score: 51
Accepted
time: 31ms
memory: 3628kb

input:

100000 4532

output:

464105997

result:

ok single line: '464105997'

Test #34:

score: 51
Accepted
time: 29ms
memory: 3608kb

input:

100000 15064

output:

85875203

result:

ok single line: '85875203'

Test #35:

score: 51
Accepted
time: 15ms
memory: 3580kb

input:

100000 82952

output:

171676250

result:

ok single line: '171676250'

Test #36:

score: 51
Accepted
time: 13ms
memory: 3556kb

input:

100000 92998

output:

252841334

result:

ok single line: '252841334'

Test #37:

score: 51
Accepted
time: 11ms
memory: 3484kb

input:

100000 100000

output:

1

result:

ok single line: '1'

Test #38:

score: 51
Accepted
time: 3ms
memory: 3608kb

input:

16203 12361

output:

474349653

result:

ok single line: '474349653'

Test #39:

score: 51
Accepted
time: 17ms
memory: 3628kb

input:

72194 31523

output:

417377353

result:

ok single line: '417377353'

Test #40:

score: 51
Accepted
time: 24ms
memory: 3672kb

input:

99254 39532

output:

188863122

result:

ok single line: '188863122'

Extra Test:

score: 0
Extra Test Passed