QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#617913#7662. Kaldorian KnightsSkyEyeControllerRE 17ms28148kbC++231.1kb2024-10-06 17:41:582024-10-06 17:41:59

Judging History

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

  • [2024-10-06 17:41:59]
  • 评测
  • 测评结果:RE
  • 用时:17ms
  • 内存:28148kb
  • [2024-10-06 17:41:58]
  • 提交

answer

#pragma GCC optimize(3, "Ofast", "inline")
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int maxn = 3e6 + 9;
const int mod = 1e9 + 7;
const int fur = 50100;
int prefam[fur], family[fur];
int famcosts[fur];
int fact[maxn];
void init()
{
    fact[0] = 1;
    for (int i = 1; i <= maxn; i++)
    {
        fact[i] = (fact[i - 1] * i) % mod;
    }
}
signed main()
{
    init();
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    int n, h;
    cin >> n >> h;
    for (int i = 1; i <= n; i++)
    {
        cin >> family[i];
        prefam[i] = prefam[i - 1] + family[i];
    }
    if (!h)
    {
        cout << fact[n] << endl;
        return 0;
    }
    for (int i = 1; i <= h; i++)
    {
        int now = fact[prefam[i]] % mod;
        for (int j = 1; j < i; j++)
        {
            now = (now + mod - (famcosts[j] * fact[prefam[i] - prefam[j]] % mod)) % mod;
        }
        famcosts[i] = now;
    }
    int ans = fact[n];
    for (int i = 1; i <= h; i++)
    {
        ans = (mod + ans - (famcosts[i] * fact[n - prefam[i]] % mod)) % mod;
    }
    cout << ans << endl;
}

詳細信息

Test #1:

score: 100
Accepted
time: 13ms
memory: 27076kb

input:

3 0

output:

6

result:

ok single line: '6'

Test #2:

score: 0
Accepted
time: 10ms
memory: 27860kb

input:

4 1
3

output:

18

result:

ok single line: '18'

Test #3:

score: 0
Accepted
time: 14ms
memory: 27116kb

input:

4 2
2
1

output:

16

result:

ok single line: '16'

Test #4:

score: 0
Accepted
time: 12ms
memory: 27000kb

input:

10 1
10

output:

0

result:

ok single line: '0'

Test #5:

score: 0
Accepted
time: 13ms
memory: 26992kb

input:

10 10
1
1
1
1
1
1
1
1
1
1

output:

0

result:

ok single line: '0'

Test #6:

score: 0
Accepted
time: 13ms
memory: 27152kb

input:

1357 7
56
173
21
103
96
149
38

output:

1000000006

result:

ok single line: '1000000006'

Test #7:

score: 0
Accepted
time: 17ms
memory: 27840kb

input:

1357 5
190
198
257
256
261

output:

1000000005

result:

ok single line: '1000000005'

Test #8:

score: 0
Accepted
time: 14ms
memory: 27008kb

input:

1357 7
144
56
113
20
113
141
107

output:

0

result:

ok single line: '0'

Test #9:

score: 0
Accepted
time: 17ms
memory: 27908kb

input:

1357 7
107
29
131
99
180
96
63

output:

1

result:

ok single line: '1'

Test #10:

score: 0
Accepted
time: 10ms
memory: 28000kb

input:

1357 7
124
180
60
103
142
145
68

output:

2

result:

ok single line: '2'

Test #11:

score: 0
Accepted
time: 14ms
memory: 27024kb

input:

750 66
7
2
2
1
7
10
9
10
5
9
10
11
11
5
4
3
8
6
5
5
6
9
5
1
7
11
8
5
4
6
4
2
7
2
9
11
4
8
10
8
6
2
8
7
11
3
10
9
4
3
7
5
5
9
6
2
10
7
5
2
5
4
9
3
11
9

output:

685840434

result:

ok single line: '685840434'

Test #12:

score: 0
Accepted
time: 17ms
memory: 27908kb

input:

750 66
6
1
3
6
6
2
11
7
4
4
7
5
4
9
7
2
2
6
7
10
6
3
5
4
6
5
6
5
3
10
7
9
6
5
11
1
1
9
4
6
7
3
3
4
7
11
4
5
1
8
7
10
9
10
2
6
6
5
8
8
4
4
11
5
3
8

output:

148626971

result:

ok single line: '148626971'

Test #13:

score: 0
Accepted
time: 10ms
memory: 28148kb

input:

750 66
3
5
3
11
11
9
9
4
7
8
3
4
4
5
11
9
1
6
9
6
7
8
11
7
9
7
1
10
3
8
10
6
3
4
8
11
9
6
1
11
1
8
7
7
2
9
5
5
6
1
8
10
10
9
5
11
3
9
10
6
1
6
3
8
8
3

output:

817964272

result:

ok single line: '817964272'

Test #14:

score: 0
Accepted
time: 17ms
memory: 27272kb

input:

750 66
2
8
1
1
7
11
4
8
5
6
3
11
11
5
3
2
1
6
3
6
6
5
2
8
11
6
6
7
8
1
5
11
6
8
2
3
7
10
10
6
6
11
7
5
6
6
5
9
7
3
4
4
10
4
6
4
3
9
6
6
11
2
4
6
6
11

output:

936531345

result:

ok single line: '936531345'

Test #15:

score: 0
Accepted
time: 17ms
memory: 28084kb

input:

750 66
4
6
11
1
6
9
7
1
5
4
5
6
2
8
1
2
11
6
5
3
1
6
9
8
5
9
6
2
5
1
5
3
8
6
8
5
7
4
8
1
11
11
10
8
4
6
5
10
7
8
8
8
3
9
1
8
2
9
7
5
3
1
1
11
7
4

output:

484040613

result:

ok single line: '484040613'

Test #16:

score: 0
Accepted
time: 13ms
memory: 27448kb

input:

750 66
4
9
10
7
10
11
3
7
1
6
11
4
2
11
5
5
1
2
9
7
8
3
5
8
5
6
11
6
1
11
8
8
9
6
6
9
9
7
11
11
3
7
8
10
8
9
9
5
8
8
9
7
7
11
8
6
1
10
1
11
11
11
3
5
11
8

output:

205283749

result:

ok single line: '205283749'

Test #17:

score: 0
Accepted
time: 11ms
memory: 28092kb

input:

10000 135
51
12
73
56
26
59
61
62
19
65
54
35
64
74
73
49
62
57
51
35
22
62
26
19
50
36
24
54
41
74
26
58
45
40
6
24
55
39
10
47
70
15
61
31
54
2
48
56
2
10
1
25
24
39
70
63
10
73
15
73
51
59
28
58
28
59
24
2
72
33
30
21
63
5
38
60
26
16
57
15
58
47
17
8
32
13
36
10
14
46
4
16
68
71
56
58
58
36
52
1...

output:

238689397

result:

ok single line: '238689397'

Test #18:

score: 0
Accepted
time: 13ms
memory: 27212kb

input:

10000 135
39
35
58
63
64
35
27
55
63
35
26
59
20
33
66
14
53
5
23
34
23
65
4
1
30
62
73
32
32
25
74
16
39
19
14
63
29
9
42
33
21
2
34
57
17
50
43
14
69
41
65
1
14
43
74
66
42
10
25
50
5
4
61
36
45
37
45
10
4
59
21
56
70
55
74
40
17
4
1
10
51
8
6
27
59
57
5
14
37
61
34
4
35
19
30
37
49
33
59
70
68
24...

output:

655049586

result:

ok single line: '655049586'

Test #19:

score: 0
Accepted
time: 17ms
memory: 27080kb

input:

10000 135
56
44
26
41
53
50
35
46
28
34
28
69
74
8
12
59
60
73
68
15
11
72
56
16
13
39
66
71
22
56
19
48
34
21
55
14
68
68
11
12
33
56
51
66
44
28
48
12
72
62
3
15
11
68
33
61
63
56
46
66
32
25
6
25
53
11
47
50
65
14
69
56
23
5
18
14
26
24
46
6
39
3
16
25
56
45
57
60
38
17
71
60
59
41
16
8
6
58
61
6...

output:

186140421

result:

ok single line: '186140421'

Test #20:

score: 0
Accepted
time: 14ms
memory: 27252kb

input:

10000 135
29
72
20
7
26
20
3
2
21
45
6
26
59
57
70
60
39
22
71
44
6
25
18
63
64
65
52
69
1
44
53
25
15
40
45
65
63
22
37
32
38
27
11
35
28
49
30
32
55
43
21
12
32
51
4
56
29
34
11
43
61
7
63
44
67
48
17
18
35
66
16
54
49
74
63
11
19
33
22
60
51
31
8
29
7
9
53
72
19
58
23
68
10
29
41
54
52
37
53
2
11...

output:

45969765

result:

ok single line: '45969765'

Test #21:

score: 0
Accepted
time: 13ms
memory: 27404kb

input:

10000 135
26
40
71
23
39
22
9
26
31
14
58
6
60
69
5
47
7
12
2
5
18
33
38
65
49
21
22
13
65
47
6
52
9
2
54
55
54
47
19
36
52
28
45
29
61
30
8
20
3
55
4
62
43
3
41
3
66
33
10
51
57
61
54
1
21
39
61
51
20
12
34
23
71
45
61
58
8
57
19
9
8
9
59
45
67
29
43
68
8
6
62
38
24
28
31
26
25
9
2
73
30
13
51
18
3...

output:

846150921

result:

ok single line: '846150921'

Test #22:

score: -100
Runtime Error

input:

1000000 5000
104
84
160
121
175
76
184
34
146
1
63
137
83
3
173
64
88
53
200
64
126
87
182
18
75
42
61
114
15
113
128
12
59
56
18
104
58
83
199
174
78
52
177
11
67
58
35
30
169
40
153
11
65
143
62
21
95
12
163
53
172
38
34
127
8
5
36
84
155
66
196
4
15
175
104
132
196
9
101
47
106
38
167
154
71
137
...

output:


result: