Submission #35464170
Source Code Expand
#include <bits/stdc++.h>
#define int long long
namespace mystd {
inline int read() {
char c = getchar();
int x = 0, f = 1;
while (c < '0' || c > '9') f = (c == '-') ? -1 : f, c = getchar();
while (c >= '0' && c <= '9') x = (x << 1) + (x << 3) + c - '0', c = getchar();
return x * f;
}
inline void write(int x) {
if (x < 0) x = ~(x - 1), putchar('-');
if (x > 9) write(x / 10);
putchar(x % 10 + '0');
}
}
using namespace std;
using namespace mystd;
const int mod = 1e9 + 7;
const int maxn = 3e3 + 300;
int n, m, l[maxn], r[maxn], cnt[maxn], rmx[maxn], dp[maxn][maxn];
char s[maxn];
signed main() {
n = read(), m = read();
scanf("%s", s + 1);
for (int i = 1; i <= n; i++) rmx[i] = i, cnt[i] = cnt[i - 1] + (s[i] == '1');
for (int i = 1; i <= m; i++) l[i] = read(), r[i] = read(), rmx[l[i]] = max(rmx[l[i]], r[i]);
for (int i = 1; i <= n; i++) rmx[i] = max(rmx[i], rmx[i - 1]);
dp[0][0] = 1;
for (int i = 1; i <= n; i++) {
int lt = max(0ll, i - rmx[i] + cnt[rmx[i]]);
int rt = min(i, cnt[rmx[i]]);
for (int j = lt; j <= rt; j++) {
dp[i][j] = (dp[i - 1][j] + (j ? dp[i - 1][j - 1] : 0)) % mod;
}
}
write(dp[n][cnt[n]]);
return 0;
}
Submission Info
Submission Time
2022-10-08 19:31:01+0900
Task
F - Shuffling
User
Ender32k
Language
C++ (GCC 9.2.1)
Score
900
Code Size
1236 Byte
Status
AC
Exec Time
19 ms
Memory
16332 KiB
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:27:7: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
27 | scanf("%s", s + 1);
| ~~~~~^~~~~~~~~~~~~
Judge Result
Set Name
Sample
All
Score / Max Score
0 / 0
900 / 900
Status
Set Name
Test Cases
Sample
subtask0_0.txt, subtask0_1.txt, subtask0_2.txt
All
subtask0_0.txt, subtask0_1.txt, subtask0_2.txt, subtask1_0.txt, subtask1_1.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_2.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_3.txt, subtask1_4.txt, subtask1_5.txt, subtask1_6.txt, subtask1_7.txt, subtask1_8.txt, subtask1_9.txt
Case Name
Status
Exec Time
Memory
subtask0_0.txt
AC
7 ms
3684 KiB
subtask0_1.txt
AC
2 ms
3540 KiB
subtask0_2.txt
AC
2 ms
3592 KiB
subtask1_0.txt
AC
14 ms
15668 KiB
subtask1_1.txt
AC
13 ms
15964 KiB
subtask1_10.txt
AC
14 ms
15804 KiB
subtask1_11.txt
AC
13 ms
16332 KiB
subtask1_12.txt
AC
11 ms
15844 KiB
subtask1_13.txt
AC
12 ms
15848 KiB
subtask1_14.txt
AC
14 ms
16296 KiB
subtask1_15.txt
AC
13 ms
15840 KiB
subtask1_16.txt
AC
12 ms
16004 KiB
subtask1_17.txt
AC
12 ms
16240 KiB
subtask1_18.txt
AC
14 ms
15608 KiB
subtask1_19.txt
AC
14 ms
15876 KiB
subtask1_2.txt
AC
13 ms
16248 KiB
subtask1_20.txt
AC
15 ms
16236 KiB
subtask1_21.txt
AC
14 ms
15684 KiB
subtask1_22.txt
AC
11 ms
15992 KiB
subtask1_23.txt
AC
19 ms
16284 KiB
subtask1_3.txt
AC
14 ms
15952 KiB
subtask1_4.txt
AC
16 ms
16000 KiB
subtask1_5.txt
AC
13 ms
16316 KiB
subtask1_6.txt
AC
12 ms
15940 KiB
subtask1_7.txt
AC
13 ms
16012 KiB
subtask1_8.txt
AC
13 ms
16324 KiB
subtask1_9.txt
AC
19 ms
15708 KiB