QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#235269#670. K-th String8BQube#AC ✓1ms3592kbC++201.5kb2023-11-02 16:40:012023-11-02 16:40:02

Judging History

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

  • [2023-11-02 16:40:02]
  • 评测
  • 测评结果:AC
  • 用时:1ms
  • 内存:3592kb
  • [2023-11-02 16:40:01]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
#define X first
#define Y second
#define pb push_back
#define ALL(v) v.begin(), v.end()
#define SZ(a) ((int)a.size())

const int MOD = 1e9 + 7;

void add(int &x, int val) {
    x += val;
    if (x >= MOD) x -= MOD;
}

int fac[30];
int dp[30][700];

void run_dp(vector<int> cost) {
    memset(dp, 0, sizeof dp);
    dp[0][0] = 1;
    int sum = 0;
    for (int v : cost) {
        sum += v;
        for (int i = SZ(cost); i >= 1; --i)
            for (int j = v; j <= sum; ++j)
                add(dp[i][j], dp[i - 1][j - v]);
    }
}

int main() {
    ios::sync_with_stdio(0), cin.tie(0);
    fac[0] = 1;
    for (int i = 1; i < 30; ++i)
        fac[i] = (ll)fac[i - 1] * i % MOD;
    int n, kth, ans = 0;
    string s;
    cin >> n >> kth >> s;
    for (int i = 0; i + SZ(s) <= n; ++i) {
        int zero = s[0] - 'a' + 1, one = n - zero, pre = 0;
        for (int j = 0; j < SZ(s); ++j) {
            if (s[j] <= s[0]) --zero;
            else --one;
            if (s[j] < s[0]) pre += n - (i + j);
        }
        int base = SZ(s) + pre;
        if (base > kth) continue;
        vector<int> cost;
        for (int k = 0; k < i; ++k)
            cost.pb(n - k);
        for (int k = i + SZ(s); k < n; ++k)
            cost.pb(n - k);
        run_dp(cost);
        add(ans, (ll)dp[zero][kth - base] * fac[zero] % MOD * fac[one] % MOD);
    }
    cout << ans << "\n";
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

7 12
caedgfb

output:

0

result:

ok single line: '0'

Test #2:

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

input:

2 3
b

output:

1

result:

ok single line: '1'

Test #3:

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

input:

8 4
febadh

output:

0

result:

ok single line: '0'

Test #4:

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

input:

1 1
a

output:

1

result:

ok single line: '1'

Test #5:

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

input:

4 9
bca

output:

0

result:

ok single line: '0'

Test #6:

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

input:

3 2
bc

output:

0

result:

ok single line: '0'

Test #7:

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

input:

1 1
a

output:

1

result:

ok single line: '1'

Test #8:

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

input:

8 8
acgefbdh

output:

1

result:

ok single line: '1'

Test #9:

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

input:

4 7
cb

output:

2

result:

ok single line: '2'

Test #10:

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

input:

8 36
hgfaec

output:

2

result:

ok single line: '2'

Test #11:

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

input:

8 28
feadch

output:

1

result:

ok single line: '1'

Test #12:

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

input:

3 6
cba

output:

1

result:

ok single line: '1'

Test #13:

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

input:

8 24
fhgdce

output:

2

result:

ok single line: '2'

Test #14:

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

input:

1 1
a

output:

1

result:

ok single line: '1'

Test #15:

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

input:

8 17
dhcfbae

output:

1

result:

ok single line: '1'

Test #16:

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

input:

8 26
ebcgdfha

output:

1

result:

ok single line: '1'

Test #17:

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

input:

2 2
ab

output:

1

result:

ok single line: '1'

Test #18:

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

input:

6 5
abdef

output:

2

result:

ok single line: '2'

Test #19:

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

input:

6 10
bfaecd

output:

1

result:

ok single line: '1'

Test #20:

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

input:

8 26
fgbceah

output:

1

result:

ok single line: '1'

Test #21:

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

input:

8 8
afeghdbc

output:

1

result:

ok single line: '1'

Test #22:

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

input:

8 33
gaedbhfc

output:

1

result:

ok single line: '1'

Test #23:

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

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: 1ms
memory: 3468kb

input:

2 3
ba

output:

1

result:

ok single line: '1'

Test #26:

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

input:

1 1
a

output:

1

result:

ok single line: '1'

Test #27:

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

input:

1 1
a

output:

1

result:

ok single line: '1'

Test #28:

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

input:

8 24
dafbge

output:

1

result:

ok single line: '1'

Test #29:

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

input:

1 1
a

output:

1

result:

ok single line: '1'

Test #30:

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

input:

8 28
fahdecgb

output:

1

result:

ok single line: '1'

Test #31:

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

input:

2 2
b

output:

1

result:

ok single line: '1'

Test #32:

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

input:

8 14
beahcfdg

output:

1

result:

ok single line: '1'

Test #33:

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

input:

1 1
a

output:

1

result:

ok single line: '1'

Test #34:

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

input:

8 13
chfgebad

output:

1

result:

ok single line: '1'

Test #35:

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

input:

4 9
cad

output:

1

result:

ok single line: '1'

Test #36:

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

input:

8 19
dcghfbea

output:

1

result:

ok single line: '1'

Test #37:

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

input:

7 13
cagfde

output:

1

result:

ok single line: '1'

Test #38:

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

input:

8 15
caefdhg

output:

1

result:

ok single line: '1'

Test #39:

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

input:

8 6
agchbe

output:

6

result:

ok single line: '6'

Test #40:

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

input:

8 24
ecdgbf

output:

2

result:

ok single line: '2'

Test #41:

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

input:

5 9
dac

output:

1

result:

ok single line: '1'

Test #42:

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

input:

8 16
cgehaf

output:

1

result:

ok single line: '1'

Test #43:

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

input:

6 15
ebfd

output:

2

result:

ok single line: '2'

Test #44:

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

input:

8 31
gcdebh

output:

2

result:

ok single line: '2'

Test #45:

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

input:

1 1
a

output:

1

result:

ok single line: '1'

Test #46:

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

input:

8 12
bfheagcd

output:

1

result:

ok single line: '1'

Test #47:

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

input:

3 2
b

output:

2

result:

ok single line: '2'

Test #48:

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

input:

9 7
bcidafg

output:

0

result:

ok single line: '0'

Test #49:

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

input:

2 1
a

output:

2

result:

ok single line: '2'

Test #50:

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

input:

18 94
pgamldbkqncrfeji

output:

0

result:

ok single line: '0'

Test #51:

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

input:

22 199
rilhdvfuecpbakjtoqsn

output:

0

result:

ok single line: '0'

Test #52:

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

input:

4 5
dba

output:

0

result:

ok single line: '0'

Test #53:

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

input:

2 1
ba

output:

0

result:

ok single line: '0'

Test #54:

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

input:

2 1
a

output:

2

result:

ok single line: '2'

Test #55:

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

input:

26 154
jrlnfwachzebpoktudivmqysxg

output:

1

result:

ok single line: '1'

Test #56:

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

input:

3 3
b

output:

2

result:

ok single line: '2'

Test #57:

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

input:

26 281
ucptxmzojbeygsqkadhvwrfnil

output:

1

result:

ok single line: '1'

Test #58:

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

input:

11 40
gbhiackjdfe

output:

1

result:

ok single line: '1'

Test #59:

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

input:

26 179
kobzgdjyticevuqwmprafhxnsl

output:

1

result:

ok single line: '1'

Test #60:

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

input:

5 5
bda

output:

2

result:

ok single line: '2'

Test #61:

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

input:

22 204
rkhtbvpgfqoudmjniaclse

output:

1

result:

ok single line: '1'

Test #62:

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

input:

16 95
lpnhgdmebjcoka

output:

2

result:

ok single line: '2'

Test #63:

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

input:

26 94
fczijtnmdoxeskhypwbvquglar

output:

1

result:

ok single line: '1'

Test #64:

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

input:

20 42
dskhoptejmnbcrgalqif

output:

1

result:

ok single line: '1'

Test #65:

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

input:

8 19
efhacd

output:

2

result:

ok single line: '2'

Test #66:

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

input:

1 1
a

output:

1

result:

ok single line: '1'

Test #67:

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

input:

26 148
lyvxhnpstqwfzjbdegumcakor

output:

1

result:

ok single line: '1'

Test #68:

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

input:

12 23
cfbgdahilj

output:

2

result:

ok single line: '2'

Test #69:

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

input:

26 311
wpiazehgvcsxjobrqfkmtldyun

output:

1

result:

ok single line: '1'

Test #70:

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

input:

26 302
vhixsutaewdlfrbjqmngczyokp

output:

1

result:

ok single line: '1'

Test #71:

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

input:

26 261
swtflxorcpehjdzguivkaqyb

output:

2

result:

ok single line: '2'

Test #72:

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

input:

10 49
iaejgcdfh

output:

1

result:

ok single line: '1'

Test #73:

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

input:

26 82
enyqsdujflzrcbwhgtaxkivopm

output:

1

result:

ok single line: '1'

Test #74:

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

input:

5 5
bed

output:

1

result:

ok single line: '1'

Test #75:

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

input:

26 96
fzrbpehcvywjgxknuoqtalimsd

output:

1

result:

ok single line: '1'

Test #76:

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

input:

10 14
bhdcjaige

output:

1

result:

ok single line: '1'

Test #77:

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

input:

26 342
yqsbrektndmxuolaivzfchgpw

output:

1

result:

ok single line: '1'

Test #78:

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

input:

13 16
bedigmalcfk

output:

2

result:

ok single line: '2'

Test #79:

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

input:

26 219
qzbgpfalmvdunjsotrcwkihe

output:

2

result:

ok single line: '2'

Test #80:

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

input:

22 56
dniktuajmpceqlbohrgs

output:

2

result:

ok single line: '2'

Test #81:

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

input:

26 77
dcgilpkznbrvuwehtaxmfyoqsj

output:

1

result:

ok single line: '1'

Test #82:

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

input:

5 3
ace

output:

6

result:

ok single line: '6'

Test #83:

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

input:

26 159
krzcwglqfjpbnaiumsyhdvotxe

output:

1

result:

ok single line: '1'

Test #84:

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

input:

3 1
a

output:

6

result:

ok single line: '6'

Test #85:

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

input:

26 251
tpvyjcaluxefgqwbnrmikszo

output:

2

result:

ok single line: '2'

Test #86:

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

input:

16 127
olbemcpafjndkgi

output:

1

result:

ok single line: '1'

Test #87:

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

input:

4 9
d

output:

6

result:

ok single line: '6'

Test #88:

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

input:

8 4
fg

output:

0

result:

ok single line: '0'

Test #89:

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

input:

8 19
g

output:

0

result:

ok single line: '0'

Test #90:

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

input:

6 14
dc

output:

16

result:

ok single line: '16'

Test #91:

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

input:

8 14
cefgd

output:

4

result:

ok single line: '4'

Test #92:

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

input:

8 24
fegb

output:

12

result:

ok single line: '12'

Test #93:

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

input:

8 14
d

output:

4320

result:

ok single line: '4320'

Test #94:

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

input:

8 14
cbhf

output:

18

result:

ok single line: '18'

Test #95:

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

input:

8 19
eb

output:

612

result:

ok single line: '612'

Test #96:

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

input:

5 5
b

output:

24

result:

ok single line: '24'

Test #97:

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

input:

8 6
be

output:

600

result:

ok single line: '600'

Test #98:

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

input:

8 16
degb

output:

16

result:

ok single line: '16'

Test #99:

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

input:

8 16
e

output:

2880

result:

ok single line: '2880'

Test #100:

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

input:

6 17
e

output:

96

result:

ok single line: '96'

Test #101:

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

input:

22 41
urbv

output:

0

result:

ok single line: '0'

Test #102:

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

input:

19 53
bksora

output:

0

result:

ok single line: '0'

Test #103:

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

input:

8 17
a

output:

0

result:

ok single line: '0'

Test #104:

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

input:

26 310
wxglnbcsfim

output:

707619005

result:

ok single line: '707619005'

Test #105:

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

input:

14 57
femchdbnlgj

output:

2

result:

ok single line: '2'

Test #106:

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

input:

26 190
n

output:

793426072

result:

ok single line: '793426072'

Test #107:

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

input:

19 177
q

output:

384492431

result:

ok single line: '384492431'

Test #108:

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

input:

26 148
lwu

output:

147045489

result:

ok single line: '147045489'

Test #109:

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

input:

14 62
i

output:

267468772

result:

ok single line: '267468772'

Test #110:

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

input:

14 48
ga

output:

327196800

result:

ok single line: '327196800'

Test #111:

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

input:

26 181
okvubjzwdxqmc

output:

432166393

result:

ok single line: '432166393'

Test #112:

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

input:

26 310
y

output:

576292958

result:

ok single line: '576292958'

Test #113:

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

input:

26 102
gmoecsvxbqfptdukwrnyaj

output:

24

result:

ok single line: '24'

Test #114:

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

input:

15 71
gdbjakomcle

output:

6

result:

ok single line: '6'

Test #115:

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

input:

26 94
hrjcuao

output:

922356513

result:

ok single line: '922356513'

Test #116:

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

input:

9 1
a

output:

362880

result:

ok single line: '362880'

Test #117:

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

input:

26 81
fbxgtinmuohswrk

output:

6773760

result:

ok single line: '6773760'

Test #118:

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

input:

15 76
jdlkiboacn

output:

48

result:

ok single line: '48'

Test #119:

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

input:

26 225
s

output:

298955907

result:

ok single line: '298955907'

Test #120:

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

input:

26 75
hysotxlfcg

output:

629258561

result:

ok single line: '629258561'

Test #121:

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

input:

26 169
p

output:

942577163

result:

ok single line: '942577163'

Test #122:

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

input:

14 88
kh

output:

89268480

result:

ok single line: '89268480'

Extra Test:

score: 0
Extra Test Passed