QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#560441#670. K-th Stringucup-team1198#AC ✓4ms3828kbC++201.7kb2024-09-12 15:45:562024-09-12 15:45:57

Judging History

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

  • [2024-09-12 15:45:57]
  • 评测
  • 测评结果:AC
  • 用时:4ms
  • 内存:3828kb
  • [2024-09-12 15:45:56]
  • 提交

answer

#include <map>
#include <set>
#include <array>
#include <cmath>
#include <deque>
#include <bitset>
#include <random>
#include <string>
#include <vector>
#include <cassert>
#include <complex>
#include <iomanip>
#include <iostream>
#include <algorithm>
#include <unordered_map>
#include <unordered_set>

using namespace std;

const int MOD = 1e9 + 7;

int add(int a, int b) {
  return a + b >= MOD ? a + b - MOD : a + b;
}

int sub(int a, int b) {
  return a >= b ? a - b : a + MOD - b;
}

int mul(int a, int b) {
  return (1ll * a * b) % MOD;
}

int knapsack(vector<int> x, int s, int k) {
  if (s < 0 || k < 0) return 0;
  vector<vector<int>> dp(s + 1, vector<int>(k + 1, 0));
  dp[0][0] = 1;
  for (int t : x) {
    for (int i = k - 1; i >= 0; --i) {
      for (int j = s - t; j >= 0; --j) {
        dp[j + t][i + 1] = add(dp[j + t][i + 1], dp[j][i]);
      }
    }
  }
  return dp[s][k];
}

int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);

  int n, k;
  cin >> n >> k;
  string s;
  cin >> s;
  int l = s.size();
  int sumid = (s[0] - 'a') * n + l - k;
  int ans = 0;
  for (int i = l; i <= n; ++i) {
    vector<int> ind;
    for (int j = 0; j + l < i; ++j) {
      ind.push_back(j);
    }
    for (int j = i; j < n; ++j) {
      ind.push_back(j);
    }
    int sum = sumid;
    int k = (s[0] - 'a');
    for (int j = 0; j < l; ++j) {
      if (s[j] < s[0]) {
        --k;
        sum -= (i - l + j);
      }
    }
    int mlt = 1;
    for (int i = 1; i <= k; ++i) {
      mlt = mul(mlt, i);
    }
    for (int i = 1; i <= n - l - k; ++i) {
      mlt = mul(mlt, i);
    }
    ans = add(ans, mul(mlt, knapsack(ind, sum, k)));
  }
  cout << ans << "\n";

  return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

7 12
caedgfb

output:

0

result:

ok single line: '0'

Test #2:

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

input:

2 3
b

output:

1

result:

ok single line: '1'

Test #3:

score: 0
Accepted
time: 0ms
memory: 3828kb

input:

8 4
febadh

output:

0

result:

ok single line: '0'

Test #4:

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

input:

1 1
a

output:

1

result:

ok single line: '1'

Test #5:

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

input:

4 9
bca

output:

0

result:

ok single line: '0'

Test #6:

score: 0
Accepted
time: 0ms
memory: 3752kb

input:

3 2
bc

output:

0

result:

ok single line: '0'

Test #7:

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

input:

1 1
a

output:

1

result:

ok single line: '1'

Test #8:

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

input:

8 8
acgefbdh

output:

1

result:

ok single line: '1'

Test #9:

score: 0
Accepted
time: 0ms
memory: 3828kb

input:

4 7
cb

output:

2

result:

ok single line: '2'

Test #10:

score: 0
Accepted
time: 0ms
memory: 3596kb

input:

8 36
hgfaec

output:

2

result:

ok single line: '2'

Test #11:

score: 0
Accepted
time: 0ms
memory: 3524kb

input:

8 28
feadch

output:

1

result:

ok single line: '1'

Test #12:

score: 0
Accepted
time: 0ms
memory: 3524kb

input:

3 6
cba

output:

1

result:

ok single line: '1'

Test #13:

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

input:

8 24
fhgdce

output:

2

result:

ok single line: '2'

Test #14:

score: 0
Accepted
time: 0ms
memory: 3484kb

input:

1 1
a

output:

1

result:

ok single line: '1'

Test #15:

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

input:

8 17
dhcfbae

output:

1

result:

ok single line: '1'

Test #16:

score: 0
Accepted
time: 0ms
memory: 3524kb

input:

8 26
ebcgdfha

output:

1

result:

ok single line: '1'

Test #17:

score: 0
Accepted
time: 0ms
memory: 3700kb

input:

2 2
ab

output:

1

result:

ok single line: '1'

Test #18:

score: 0
Accepted
time: 0ms
memory: 3524kb

input:

6 5
abdef

output:

2

result:

ok single line: '2'

Test #19:

score: 0
Accepted
time: 0ms
memory: 3540kb

input:

6 10
bfaecd

output:

1

result:

ok single line: '1'

Test #20:

score: 0
Accepted
time: 0ms
memory: 3528kb

input:

8 26
fgbceah

output:

1

result:

ok single line: '1'

Test #21:

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

input:

8 8
afeghdbc

output:

1

result:

ok single line: '1'

Test #22:

score: 0
Accepted
time: 0ms
memory: 3744kb

input:

8 33
gaedbhfc

output:

1

result:

ok single line: '1'

Test #23:

score: 0
Accepted
time: 0ms
memory: 3596kb

input:

8 36
hdegbacf

output:

1

result:

ok single line: '1'

Test #24:

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

input:

1 1
a

output:

1

result:

ok single line: '1'

Test #25:

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

input:

2 3
ba

output:

1

result:

ok single line: '1'

Test #26:

score: 0
Accepted
time: 0ms
memory: 3780kb

input:

1 1
a

output:

1

result:

ok single line: '1'

Test #27:

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

input:

1 1
a

output:

1

result:

ok single line: '1'

Test #28:

score: 0
Accepted
time: 0ms
memory: 3552kb

input:

8 24
dafbge

output:

1

result:

ok single line: '1'

Test #29:

score: 0
Accepted
time: 0ms
memory: 3620kb

input:

1 1
a

output:

1

result:

ok single line: '1'

Test #30:

score: 0
Accepted
time: 0ms
memory: 3620kb

input:

8 28
fahdecgb

output:

1

result:

ok single line: '1'

Test #31:

score: 0
Accepted
time: 0ms
memory: 3780kb

input:

2 2
b

output:

1

result:

ok single line: '1'

Test #32:

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

input:

8 14
beahcfdg

output:

1

result:

ok single line: '1'

Test #33:

score: 0
Accepted
time: 0ms
memory: 3780kb

input:

1 1
a

output:

1

result:

ok single line: '1'

Test #34:

score: 0
Accepted
time: 0ms
memory: 3780kb

input:

8 13
chfgebad

output:

1

result:

ok single line: '1'

Test #35:

score: 0
Accepted
time: 0ms
memory: 3744kb

input:

4 9
cad

output:

1

result:

ok single line: '1'

Test #36:

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

input:

8 19
dcghfbea

output:

1

result:

ok single line: '1'

Test #37:

score: 0
Accepted
time: 0ms
memory: 3596kb

input:

7 13
cagfde

output:

1

result:

ok single line: '1'

Test #38:

score: 0
Accepted
time: 0ms
memory: 3812kb

input:

8 15
caefdhg

output:

1

result:

ok single line: '1'

Test #39:

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

input:

8 6
agchbe

output:

6

result:

ok single line: '6'

Test #40:

score: 0
Accepted
time: 0ms
memory: 3524kb

input:

8 24
ecdgbf

output:

2

result:

ok single line: '2'

Test #41:

score: 0
Accepted
time: 0ms
memory: 3588kb

input:

5 9
dac

output:

1

result:

ok single line: '1'

Test #42:

score: 0
Accepted
time: 0ms
memory: 3620kb

input:

8 16
cgehaf

output:

1

result:

ok single line: '1'

Test #43:

score: 0
Accepted
time: 0ms
memory: 3824kb

input:

6 15
ebfd

output:

2

result:

ok single line: '2'

Test #44:

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

input:

8 31
gcdebh

output:

2

result:

ok single line: '2'

Test #45:

score: 0
Accepted
time: 0ms
memory: 3524kb

input:

1 1
a

output:

1

result:

ok single line: '1'

Test #46:

score: 0
Accepted
time: 0ms
memory: 3764kb

input:

8 12
bfheagcd

output:

1

result:

ok single line: '1'

Test #47:

score: 0
Accepted
time: 0ms
memory: 3596kb

input:

3 2
b

output:

2

result:

ok single line: '2'

Test #48:

score: 0
Accepted
time: 0ms
memory: 3584kb

input:

9 7
bcidafg

output:

0

result:

ok single line: '0'

Test #49:

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

input:

2 1
a

output:

2

result:

ok single line: '2'

Test #50:

score: 0
Accepted
time: 0ms
memory: 3488kb

input:

18 94
pgamldbkqncrfeji

output:

0

result:

ok single line: '0'

Test #51:

score: 0
Accepted
time: 0ms
memory: 3620kb

input:

22 199
rilhdvfuecpbakjtoqsn

output:

0

result:

ok single line: '0'

Test #52:

score: 0
Accepted
time: 0ms
memory: 3824kb

input:

4 5
dba

output:

0

result:

ok single line: '0'

Test #53:

score: 0
Accepted
time: 0ms
memory: 3528kb

input:

2 1
ba

output:

0

result:

ok single line: '0'

Test #54:

score: 0
Accepted
time: 0ms
memory: 3536kb

input:

2 1
a

output:

2

result:

ok single line: '2'

Test #55:

score: 0
Accepted
time: 0ms
memory: 3528kb

input:

26 154
jrlnfwachzebpoktudivmqysxg

output:

1

result:

ok single line: '1'

Test #56:

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

input:

3 3
b

output:

2

result:

ok single line: '2'

Test #57:

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

input:

26 281
ucptxmzojbeygsqkadhvwrfnil

output:

1

result:

ok single line: '1'

Test #58:

score: 0
Accepted
time: 0ms
memory: 3812kb

input:

11 40
gbhiackjdfe

output:

1

result:

ok single line: '1'

Test #59:

score: 0
Accepted
time: 0ms
memory: 3476kb

input:

26 179
kobzgdjyticevuqwmprafhxnsl

output:

1

result:

ok single line: '1'

Test #60:

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

input:

5 5
bda

output:

2

result:

ok single line: '2'

Test #61:

score: 0
Accepted
time: 0ms
memory: 3528kb

input:

22 204
rkhtbvpgfqoudmjniaclse

output:

1

result:

ok single line: '1'

Test #62:

score: 0
Accepted
time: 0ms
memory: 3596kb

input:

16 95
lpnhgdmebjcoka

output:

2

result:

ok single line: '2'

Test #63:

score: 0
Accepted
time: 0ms
memory: 3508kb

input:

26 94
fczijtnmdoxeskhypwbvquglar

output:

1

result:

ok single line: '1'

Test #64:

score: 0
Accepted
time: 0ms
memory: 3588kb

input:

20 42
dskhoptejmnbcrgalqif

output:

1

result:

ok single line: '1'

Test #65:

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

input:

8 19
efhacd

output:

2

result:

ok single line: '2'

Test #66:

score: 0
Accepted
time: 0ms
memory: 3540kb

input:

1 1
a

output:

1

result:

ok single line: '1'

Test #67:

score: 0
Accepted
time: 0ms
memory: 3596kb

input:

26 148
lyvxhnpstqwfzjbdegumcakor

output:

1

result:

ok single line: '1'

Test #68:

score: 0
Accepted
time: 0ms
memory: 3780kb

input:

12 23
cfbgdahilj

output:

2

result:

ok single line: '2'

Test #69:

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

input:

26 311
wpiazehgvcsxjobrqfkmtldyun

output:

1

result:

ok single line: '1'

Test #70:

score: 0
Accepted
time: 0ms
memory: 3596kb

input:

26 302
vhixsutaewdlfrbjqmngczyokp

output:

1

result:

ok single line: '1'

Test #71:

score: 0
Accepted
time: 0ms
memory: 3552kb

input:

26 261
swtflxorcpehjdzguivkaqyb

output:

2

result:

ok single line: '2'

Test #72:

score: 0
Accepted
time: 0ms
memory: 3780kb

input:

10 49
iaejgcdfh

output:

1

result:

ok single line: '1'

Test #73:

score: 0
Accepted
time: 0ms
memory: 3528kb

input:

26 82
enyqsdujflzrcbwhgtaxkivopm

output:

1

result:

ok single line: '1'

Test #74:

score: 0
Accepted
time: 0ms
memory: 3808kb

input:

5 5
bed

output:

1

result:

ok single line: '1'

Test #75:

score: 0
Accepted
time: 0ms
memory: 3812kb

input:

26 96
fzrbpehcvywjgxknuoqtalimsd

output:

1

result:

ok single line: '1'

Test #76:

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

input:

10 14
bhdcjaige

output:

1

result:

ok single line: '1'

Test #77:

score: 0
Accepted
time: 0ms
memory: 3520kb

input:

26 342
yqsbrektndmxuolaivzfchgpw

output:

1

result:

ok single line: '1'

Test #78:

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

input:

13 16
bedigmalcfk

output:

2

result:

ok single line: '2'

Test #79:

score: 0
Accepted
time: 0ms
memory: 3812kb

input:

26 219
qzbgpfalmvdunjsotrcwkihe

output:

2

result:

ok single line: '2'

Test #80:

score: 0
Accepted
time: 0ms
memory: 3592kb

input:

22 56
dniktuajmpceqlbohrgs

output:

2

result:

ok single line: '2'

Test #81:

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

input:

26 77
dcgilpkznbrvuwehtaxmfyoqsj

output:

1

result:

ok single line: '1'

Test #82:

score: 0
Accepted
time: 0ms
memory: 3540kb

input:

5 3
ace

output:

6

result:

ok single line: '6'

Test #83:

score: 0
Accepted
time: 0ms
memory: 3524kb

input:

26 159
krzcwglqfjpbnaiumsyhdvotxe

output:

1

result:

ok single line: '1'

Test #84:

score: 0
Accepted
time: 0ms
memory: 3588kb

input:

3 1
a

output:

6

result:

ok single line: '6'

Test #85:

score: 0
Accepted
time: 0ms
memory: 3536kb

input:

26 251
tpvyjcaluxefgqwbnrmikszo

output:

2

result:

ok single line: '2'

Test #86:

score: 0
Accepted
time: 0ms
memory: 3824kb

input:

16 127
olbemcpafjndkgi

output:

1

result:

ok single line: '1'

Test #87:

score: 0
Accepted
time: 0ms
memory: 3524kb

input:

4 9
d

output:

6

result:

ok single line: '6'

Test #88:

score: 0
Accepted
time: 0ms
memory: 3816kb

input:

8 4
fg

output:

0

result:

ok single line: '0'

Test #89:

score: 0
Accepted
time: 0ms
memory: 3600kb

input:

8 19
g

output:

0

result:

ok single line: '0'

Test #90:

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

input:

6 14
dc

output:

16

result:

ok single line: '16'

Test #91:

score: 0
Accepted
time: 0ms
memory: 3540kb

input:

8 14
cefgd

output:

4

result:

ok single line: '4'

Test #92:

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

input:

8 24
fegb

output:

12

result:

ok single line: '12'

Test #93:

score: 0
Accepted
time: 0ms
memory: 3528kb

input:

8 14
d

output:

4320

result:

ok single line: '4320'

Test #94:

score: 0
Accepted
time: 0ms
memory: 3540kb

input:

8 14
cbhf

output:

18

result:

ok single line: '18'

Test #95:

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

input:

8 19
eb

output:

612

result:

ok single line: '612'

Test #96:

score: 0
Accepted
time: 0ms
memory: 3808kb

input:

5 5
b

output:

24

result:

ok single line: '24'

Test #97:

score: 0
Accepted
time: 0ms
memory: 3780kb

input:

8 6
be

output:

600

result:

ok single line: '600'

Test #98:

score: 0
Accepted
time: 0ms
memory: 3480kb

input:

8 16
degb

output:

16

result:

ok single line: '16'

Test #99:

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

input:

8 16
e

output:

2880

result:

ok single line: '2880'

Test #100:

score: 0
Accepted
time: 0ms
memory: 3540kb

input:

6 17
e

output:

96

result:

ok single line: '96'

Test #101:

score: 0
Accepted
time: 0ms
memory: 3592kb

input:

22 41
urbv

output:

0

result:

ok single line: '0'

Test #102:

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

input:

19 53
bksora

output:

0

result:

ok single line: '0'

Test #103:

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

input:

8 17
a

output:

0

result:

ok single line: '0'

Test #104:

score: 0
Accepted
time: 1ms
memory: 3772kb

input:

26 310
wxglnbcsfim

output:

707619005

result:

ok single line: '707619005'

Test #105:

score: 0
Accepted
time: 0ms
memory: 3780kb

input:

14 57
femchdbnlgj

output:

2

result:

ok single line: '2'

Test #106:

score: 0
Accepted
time: 1ms
memory: 3524kb

input:

26 190
n

output:

793426072

result:

ok single line: '793426072'

Test #107:

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

input:

19 177
q

output:

384492431

result:

ok single line: '384492431'

Test #108:

score: 0
Accepted
time: 1ms
memory: 3624kb

input:

26 148
lwu

output:

147045489

result:

ok single line: '147045489'

Test #109:

score: 0
Accepted
time: 0ms
memory: 3468kb

input:

14 62
i

output:

267468772

result:

ok single line: '267468772'

Test #110:

score: 0
Accepted
time: 0ms
memory: 3796kb

input:

14 48
ga

output:

327196800

result:

ok single line: '327196800'

Test #111:

score: 0
Accepted
time: 0ms
memory: 3560kb

input:

26 181
okvubjzwdxqmc

output:

432166393

result:

ok single line: '432166393'

Test #112:

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

input:

26 310
y

output:

576292958

result:

ok single line: '576292958'

Test #113:

score: 0
Accepted
time: 0ms
memory: 3524kb

input:

26 102
gmoecsvxbqfptdukwrnyaj

output:

24

result:

ok single line: '24'

Test #114:

score: 0
Accepted
time: 0ms
memory: 3780kb

input:

15 71
gdbjakomcle

output:

6

result:

ok single line: '6'

Test #115:

score: 0
Accepted
time: 0ms
memory: 3552kb

input:

26 94
hrjcuao

output:

922356513

result:

ok single line: '922356513'

Test #116:

score: 0
Accepted
time: 0ms
memory: 3536kb

input:

9 1
a

output:

362880

result:

ok single line: '362880'

Test #117:

score: 0
Accepted
time: 0ms
memory: 3588kb

input:

26 81
fbxgtinmuohswrk

output:

6773760

result:

ok single line: '6773760'

Test #118:

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

input:

15 76
jdlkiboacn

output:

48

result:

ok single line: '48'

Test #119:

score: 0
Accepted
time: 3ms
memory: 3804kb

input:

26 225
s

output:

298955907

result:

ok single line: '298955907'

Test #120:

score: 0
Accepted
time: 1ms
memory: 3528kb

input:

26 75
hysotxlfcg

output:

629258561

result:

ok single line: '629258561'

Test #121:

score: 0
Accepted
time: 2ms
memory: 3804kb

input:

26 169
p

output:

942577163

result:

ok single line: '942577163'

Test #122:

score: 0
Accepted
time: 0ms
memory: 3592kb

input:

14 88
kh

output:

89268480

result:

ok single line: '89268480'

Extra Test:

score: 0
Extra Test Passed