Submission #1304448
Source Code Expand
#include <cstdio> const int mod = 1000000007; const int inv2 = 500000004; int n, m, dp[5009][5009]; char s[5009]; int main() { scanf("%d %s", &n, s); while (s[m]) m++; dp[0][0] = 1; for (int i = 1; i <= n; i++) { for (int j = 0; j <= i; j++) { dp[i][j] = dp[i - 1][j + 1] + (j != 0 ? dp[i - 1][j - 1] >= inv2 ? dp[i - 1][j - 1] * 2 - mod : dp[i - 1][j - 1] * 2 : dp[i - 1][0]); if (dp[i][j] >= mod) dp[i][j] -= mod; } } for (int i = 0; i < m; i++) dp[n][m] = 1LL * dp[n][m] * inv2 % mod; printf("%d\n", dp[n][m]); return 0; }
Submission Info
Submission Time | |
---|---|
Task | F - Unhappy Hacking |
User | square1001 |
Language | C++14 (GCC 5.4.1) |
Score | 800 |
Code Size | 556 Byte |
Status | AC |
Exec Time | 74 ms |
Memory | 96384 KB |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:6:23: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d %s", &n, s); while (s[m]) m++; dp[0][0] = 1; ^
Judge Result
Set Name | Sample | Sub1 | Sub2 | ||||||
---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 400 / 400 | 400 / 400 | ||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
Sample | 0_01, 0_02, 0_03 |
Sub1 | 0_01, 0_02, 1_04, 1_05, 1_06, 1_07, 1_08, 1_09, 1_10, 1_11, 1_12, 1_13, 1_14, 1_15, 1_16, 1_17, 1_18, 1_19, 1_20, 1_21, 1_22, 1_23, 1_24 |
Sub2 | 0_01, 0_02, 0_03, 1_04, 1_05, 1_06, 1_07, 1_08, 1_09, 1_10, 1_11, 1_12, 1_13, 1_14, 1_15, 1_16, 1_17, 1_18, 1_19, 1_20, 1_21, 1_22, 1_23, 1_24, 2_25, 2_26, 2_27, 2_28, 2_29, 2_30, 2_31, 2_32, 2_33, 2_34, 2_35, 2_36, 2_37, 2_38, 2_39, 2_40, 2_41, 2_42, 2_43, 2_44 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
0_01 | AC | 1 ms | 128 KB |
0_02 | AC | 2 ms | 4736 KB |
0_03 | AC | 73 ms | 96384 KB |
1_04 | AC | 1 ms | 128 KB |
1_05 | AC | 2 ms | 4736 KB |
1_06 | AC | 2 ms | 4736 KB |
1_07 | AC | 2 ms | 4736 KB |
1_08 | AC | 2 ms | 4736 KB |
1_09 | AC | 2 ms | 4736 KB |
1_10 | AC | 2 ms | 4736 KB |
1_11 | AC | 2 ms | 4736 KB |
1_12 | AC | 2 ms | 4736 KB |
1_13 | AC | 2 ms | 4736 KB |
1_14 | AC | 2 ms | 4736 KB |
1_15 | AC | 2 ms | 4736 KB |
1_16 | AC | 2 ms | 4736 KB |
1_17 | AC | 2 ms | 4736 KB |
1_18 | AC | 2 ms | 4736 KB |
1_19 | AC | 2 ms | 4736 KB |
1_20 | AC | 1 ms | 384 KB |
1_21 | AC | 1 ms | 2688 KB |
1_22 | AC | 1 ms | 512 KB |
1_23 | AC | 2 ms | 4736 KB |
1_24 | AC | 2 ms | 4736 KB |
2_25 | AC | 74 ms | 96384 KB |
2_26 | AC | 74 ms | 96384 KB |
2_27 | AC | 74 ms | 96384 KB |
2_28 | AC | 74 ms | 96384 KB |
2_29 | AC | 74 ms | 96384 KB |
2_30 | AC | 73 ms | 96384 KB |
2_31 | AC | 74 ms | 96384 KB |
2_32 | AC | 74 ms | 96384 KB |
2_33 | AC | 74 ms | 96384 KB |
2_34 | AC | 74 ms | 96384 KB |
2_35 | AC | 73 ms | 96384 KB |
2_36 | AC | 73 ms | 96256 KB |
2_37 | AC | 74 ms | 96256 KB |
2_38 | AC | 74 ms | 96256 KB |
2_39 | AC | 73 ms | 96384 KB |
2_40 | AC | 60 ms | 86656 KB |
2_41 | AC | 35 ms | 62080 KB |
2_42 | AC | 70 ms | 94848 KB |
2_43 | AC | 42 ms | 70272 KB |
2_44 | AC | 4 ms | 12928 KB |