Submission #2238846
Source Code Expand
var mod = 1e9+7; function Main(s) { var n = parseInt(s[0]); var sl = s[1].length; var a = Array(2).fill(0).map(a => Array(n+2).fill(0)); a[0][0] = 1; for(var i = 1; i <= n; i++){ a[i&1][0] = a[(i+1)&1][0] + a[(i+1)&1][1]; a[i&1][0] %= mod; for(var j = 1; j <= i; j++){ a[i&1][j] = a[(i+1)&1][j-1] * 2 + a[(i+1)&1][j+1]; a[i&1][j] %= mod; } } console.log(permod(a[n&1][sl], powmod(2, sl))); } function abmod(){ var rt = arguments[0]; for(var i = 1; i < arguments.length; i++){ rt = (rt >>> 16) * arguments[i] % mod * 0x10000 + (rt & 0xFFFF) * arguments[i]; rt %= mod; } return rt; } function powmod(a,n){//a^n%mod var rt = 1; while(n){ if(n & 1) rt = abmod(a, rt); a = abmod(a, a); n >>>= 1; } return rt; } function permod(a,n){ var rt = powmod(n, mod-2); rt = abmod(rt, a); return rt; } Main(require("fs").readFileSync("/dev/stdin", "utf8").split("\n"));
Submission Info
Submission Time | |
---|---|
Task | F - Unhappy Hacking |
User | catoon |
Language | JavaScript (node.js v5.12) |
Score | 800 |
Code Size | 955 Byte |
Status | AC |
Exec Time | 416 ms |
Memory | 7500 KB |
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 | 54 ms | 7372 KB |
0_02 | AC | 58 ms | 7500 KB |
0_03 | AC | 411 ms | 7500 KB |
1_04 | AC | 54 ms | 7372 KB |
1_05 | AC | 58 ms | 7500 KB |
1_06 | AC | 58 ms | 7500 KB |
1_07 | AC | 58 ms | 7500 KB |
1_08 | AC | 57 ms | 7500 KB |
1_09 | AC | 58 ms | 7500 KB |
1_10 | AC | 58 ms | 7500 KB |
1_11 | AC | 58 ms | 7500 KB |
1_12 | AC | 58 ms | 7500 KB |
1_13 | AC | 58 ms | 7500 KB |
1_14 | AC | 58 ms | 7500 KB |
1_15 | AC | 58 ms | 7500 KB |
1_16 | AC | 58 ms | 7500 KB |
1_17 | AC | 58 ms | 7500 KB |
1_18 | AC | 58 ms | 7500 KB |
1_19 | AC | 58 ms | 7500 KB |
1_20 | AC | 55 ms | 7372 KB |
1_21 | AC | 57 ms | 7500 KB |
1_22 | AC | 55 ms | 7372 KB |
1_23 | AC | 57 ms | 7500 KB |
1_24 | AC | 57 ms | 7500 KB |
2_25 | AC | 412 ms | 7500 KB |
2_26 | AC | 411 ms | 7500 KB |
2_27 | AC | 415 ms | 7500 KB |
2_28 | AC | 411 ms | 7500 KB |
2_29 | AC | 410 ms | 7500 KB |
2_30 | AC | 409 ms | 7500 KB |
2_31 | AC | 413 ms | 7500 KB |
2_32 | AC | 416 ms | 7500 KB |
2_33 | AC | 413 ms | 7500 KB |
2_34 | AC | 413 ms | 7500 KB |
2_35 | AC | 415 ms | 7500 KB |
2_36 | AC | 408 ms | 7500 KB |
2_37 | AC | 410 ms | 7500 KB |
2_38 | AC | 410 ms | 7500 KB |
2_39 | AC | 407 ms | 7500 KB |
2_40 | AC | 334 ms | 7500 KB |
2_41 | AC | 199 ms | 7500 KB |
2_42 | AC | 408 ms | 7500 KB |
2_43 | AC | 240 ms | 7500 KB |
2_44 | AC | 62 ms | 7500 KB |