Submission #2711528


Source Code Expand

# seishin.py
from collections import deque
N = int(input())
*P, = map(int, input().split())
MOD = 10**9 + 7

G = [[] for i in range(N+1)]
for i, p in enumerate(P):
    G[p].append(i+1)
Q = [None]*(N+1)
A = [None]*(N+1)
PP = [1]*(N+1)
for i in range(N):
    PP[i+1] = PP[i]*2 % MOD

for i in range(N, -1, -1):

    # 子ノードのdequeを集める
    R = None
    for j in G[i]:
        S = Q[j]
        if not S:
            continue
        if not R:
            R = S
            S[:] = ([a+c,b,0,d] for a, b, c, d in S)
            continue

        T = S if len(R) < len(S) else R
        # dequeの小さい方から大きい方へマージする処理
        def gen():
            for s, r in zip(S, R):
                a0, a1, a2, c0 = s
                b0, b1, b2, c1 = r
                a0 += a2
                yield a0*b0 % MOD, (a0*b1 + a1*b0) % MOD, (a0*b2 + a1*b1 + a1*b2) % MOD, c0+c1
        T[:min(len(R), len(S))] = gen()
        R = T

    k = len(G[i])
    if k:
        r = [(PP[k] - k, k, 0, k)]
    else:
        r = None
    if R:
        # a0 <- a2
        r.extend(R)
    Q[i] = r
ans = PP[N]
for a0, a1, a2, c in Q[0]:
    ans += PP[N+1-c] * a1 % MOD
print(ans % MOD)

Submission Info

Submission Time
Task E - Smuggling Marbles
User yaketake08
Language PyPy3 (2.4.0)
Score 0
Code Size 1250 Byte
Status WA
Exec Time 3224 ms
Memory 1004460 KB

Judge Result

Set Name Sample Subtask1 All
Score / Max Score 0 / 0 0 / 400 0 / 600
Status
AC × 3
AC × 13
WA × 7
AC × 21
WA × 20
TLE × 11
Set Name Test Cases
Sample 00_example_01.txt, 00_example_02.txt, 00_example_03.txt
Subtask1 00_example_01.txt, 00_example_02.txt, 00_example_03.txt, s1_01.txt, s1_02.txt, s1_03.txt, s1_04.txt, s1_05.txt, s1_06.txt, s1_07.txt, s1_08.txt, s1_09.txt, s1_10.txt, s1_11.txt, s1_12.txt, s1_13.txt, s1_14.txt, s1_15.txt, s1_16.txt, s1_17.txt
All 00_example_01.txt, 00_example_02.txt, 00_example_03.txt, s1_01.txt, s1_02.txt, s1_03.txt, s1_04.txt, s1_05.txt, s1_06.txt, s1_07.txt, s1_08.txt, s1_09.txt, s1_10.txt, s1_11.txt, s1_12.txt, s1_13.txt, s1_14.txt, s1_15.txt, s1_16.txt, s1_17.txt, s2_01.txt, s2_02.txt, s2_03.txt, s2_04.txt, s2_05.txt, s2_06.txt, s2_07.txt, s2_08.txt, s2_09.txt, s2_10.txt, s2_11.txt, s2_12.txt, s2_13.txt, s2_14.txt, s2_15.txt, s2_16.txt, s2_17.txt, s2_18.txt, s2_19.txt, s2_20.txt, s2_21.txt, s2_22.txt, s2_23.txt, s2_24.txt, s2_25.txt, s2_26.txt, s2_27.txt, s2_28.txt, s2_29.txt, s2_30.txt, s2_31.txt, s2_32.txt
Case Name Status Exec Time Memory
00_example_01.txt AC 162 ms 38256 KB
00_example_02.txt AC 163 ms 38256 KB
00_example_03.txt AC 162 ms 38256 KB
s1_01.txt WA 167 ms 38256 KB
s1_02.txt WA 168 ms 38640 KB
s1_03.txt WA 183 ms 40304 KB
s1_04.txt AC 163 ms 38256 KB
s1_05.txt AC 167 ms 38640 KB
s1_06.txt AC 175 ms 39920 KB
s1_07.txt AC 164 ms 38256 KB
s1_08.txt AC 783 ms 230020 KB
s1_09.txt AC 200 ms 52956 KB
s1_10.txt AC 201 ms 42224 KB
s1_11.txt AC 166 ms 38256 KB
s1_12.txt AC 186 ms 40688 KB
s1_13.txt AC 164 ms 38256 KB
s1_14.txt WA 219 ms 44252 KB
s1_15.txt WA 221 ms 44272 KB
s1_16.txt WA 204 ms 43500 KB
s1_17.txt WA 228 ms 44508 KB
s2_01.txt WA 337 ms 58076 KB
s2_02.txt AC 255 ms 48348 KB
s2_03.txt WA 504 ms 94436 KB
s2_04.txt WA 464 ms 83452 KB
s2_05.txt WA 586 ms 124144 KB
s2_06.txt WA 677 ms 123676 KB
s2_07.txt WA 528 ms 101412 KB
s2_08.txt WA 389 ms 78524 KB
s2_09.txt WA 590 ms 116772 KB
s2_10.txt WA 559 ms 109392 KB
s2_11.txt AC 259 ms 87528 KB
s2_12.txt AC 176 ms 40048 KB
s2_13.txt TLE 3223 ms 997292 KB
s2_14.txt TLE 3223 ms 997420 KB
s2_15.txt TLE 3220 ms 964656 KB
s2_16.txt AC 267 ms 52316 KB
s2_17.txt AC 234 ms 45788 KB
s2_18.txt AC 399 ms 96136 KB
s2_19.txt AC 351 ms 74892 KB
s2_20.txt WA 723 ms 125880 KB
s2_21.txt WA 818 ms 147864 KB
s2_22.txt WA 683 ms 124820 KB
s2_23.txt WA 791 ms 124728 KB
s2_24.txt AC 1534 ms 371044 KB
s2_25.txt TLE 3214 ms 868956 KB
s2_26.txt TLE 3220 ms 951340 KB
s2_27.txt TLE 3224 ms 1004460 KB
s2_28.txt TLE 3223 ms 992556 KB
s2_29.txt TLE 3219 ms 928944 KB
s2_30.txt TLE 3222 ms 985516 KB
s2_31.txt TLE 3221 ms 954284 KB
s2_32.txt TLE 3219 ms 936368 KB