Submission #2711501


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 R:
            R = S
            continue

        # |R| > |S|
        if len(R) < len(S):
            R, S = S, R

        # dequeの小さい方から大きい方へマージする処理
        for s, r in zip(S, R):
            a0, a1, a2, c0 = s
            b0, b1, b2, c1 = r
            r[0] = a0*b0 % MOD
            r[1] = (a0*b1 + a1*b0) % MOD
            r[2] = (a0*b2 + a1*b1 + a2*b0 + a1*b2 + a2*b2 + a2*b1) % MOD
            r[3] = c0+c1

    k = len(G[i])
    if k:
        r = [PP[k] - k, k, 0, k]
    else:
        r = None
    if R:
        # a0 <- a2
        for e in R:
            e[0] += e[2]
            e[2] = 0
        R.appendleft(r)
        Q[i] = R
    else:
        if r:
            Q[i] = deque([r])
        else:
            Q[i] = deque()
ans = pow(2, N, MOD)
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 400
Code Size 1339 Byte
Status TLE
Exec Time 3162 ms
Memory 191720 KB

Judge Result

Set Name Sample Subtask1 All
Score / Max Score 0 / 0 400 / 400 0 / 600
Status
AC × 3
AC × 20
AC × 43
TLE × 9
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 168 ms 38768 KB
00_example_02.txt AC 164 ms 38256 KB
00_example_03.txt AC 165 ms 38256 KB
s1_01.txt AC 167 ms 38256 KB
s1_02.txt AC 167 ms 38256 KB
s1_03.txt AC 196 ms 42480 KB
s1_04.txt AC 164 ms 38256 KB
s1_05.txt AC 166 ms 38256 KB
s1_06.txt AC 179 ms 41200 KB
s1_07.txt AC 167 ms 38256 KB
s1_08.txt AC 200 ms 41328 KB
s1_09.txt AC 174 ms 39408 KB
s1_10.txt AC 188 ms 41456 KB
s1_11.txt AC 166 ms 38256 KB
s1_12.txt AC 185 ms 41072 KB
s1_13.txt AC 163 ms 38256 KB
s1_14.txt AC 198 ms 42480 KB
s1_15.txt AC 205 ms 43248 KB
s1_16.txt AC 185 ms 41456 KB
s1_17.txt AC 201 ms 42604 KB
s2_01.txt AC 315 ms 61936 KB
s2_02.txt AC 219 ms 44912 KB
s2_03.txt AC 675 ms 130312 KB
s2_04.txt AC 516 ms 112380 KB
s2_05.txt AC 624 ms 135280 KB
s2_06.txt AC 858 ms 168044 KB
s2_07.txt AC 610 ms 124068 KB
s2_08.txt AC 389 ms 86844 KB
s2_09.txt AC 770 ms 155400 KB
s2_10.txt AC 645 ms 129360 KB
s2_11.txt AC 394 ms 191720 KB
s2_12.txt AC 178 ms 42224 KB
s2_13.txt TLE 3161 ms 109592 KB
s2_14.txt TLE 3161 ms 109592 KB
s2_15.txt TLE 3161 ms 101504 KB
s2_16.txt AC 248 ms 56300 KB
s2_17.txt AC 212 ms 44396 KB
s2_18.txt AC 409 ms 133768 KB
s2_19.txt AC 321 ms 99340 KB
s2_20.txt AC 908 ms 152488 KB
s2_21.txt AC 848 ms 137884 KB
s2_22.txt AC 948 ms 178672 KB
s2_23.txt AC 914 ms 153384 KB
s2_24.txt AC 658 ms 165656 KB
s2_25.txt AC 689 ms 123416 KB
s2_26.txt AC 1409 ms 125592 KB
s2_27.txt TLE 3162 ms 114072 KB
s2_28.txt TLE 3162 ms 114584 KB
s2_29.txt TLE 3162 ms 119704 KB
s2_30.txt TLE 3162 ms 120600 KB
s2_31.txt TLE 3161 ms 120000 KB
s2_32.txt TLE 3162 ms 122136 KB