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
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
AC × 3
AC × 27
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