Submission #2711395


Source Code Expand

# seishin.py
import sys
sys.setrecursionlimit(10**6)
N = int(input())
*P, = map(int, input().split())
MOD = 10**9 + 7
from itertools import tee

G = [[] for i in range(N+1)]
for i, p in enumerate(P):
    G[p].append(i+1)
Q = [None]*(N+1)
E = [1, 1, 0, 1]
for i in range(N, -1, -1):
    def gen(i):
        *I, = map(Q.__getitem__, G[i])
        r = E
        while r:
            a,b,c,d=r
            yield (a+c,b,0,d)
            r = None
            for it in I:
                s = next(it, None)
                if s:
                    if r:
                        a0, a1, a2, c0 = s
                        b0, b1, b2, c1 = r
                        r = a0*b0 % MOD, (a0*b1 + a1*b0) % MOD, ((a0 + a1)*b2 + a1*b1) % MOD, c0+c1
                    else:
                        r = s
    Q[i] = gen(i)
ans = 0
for a0, a1, a2, c in Q[0]:
    ans += pow(2, N+1-c, MOD) * a1 % MOD
print(ans % MOD)

Submission Info

Submission Time
Task E - Smuggling Marbles
User yaketake08
Language PyPy3 (2.4.0)
Score 400
Code Size 935 Byte
Status TLE
Exec Time 3173 ms
Memory 290500 KB

Judge Result

Set Name Sample Subtask1 All
Score / Max Score 0 / 0 400 / 400 0 / 600
Status
AC × 3
AC × 20
AC × 39
TLE × 13
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 164 ms 38512 KB
00_example_02.txt AC 161 ms 38384 KB
00_example_03.txt AC 160 ms 38256 KB
s1_01.txt AC 204 ms 43500 KB
s1_02.txt AC 193 ms 42608 KB
s1_03.txt AC 201 ms 43376 KB
s1_04.txt AC 160 ms 38256 KB
s1_05.txt AC 199 ms 42972 KB
s1_06.txt AC 187 ms 42224 KB
s1_07.txt AC 168 ms 39280 KB
s1_08.txt AC 629 ms 117468 KB
s1_09.txt AC 229 ms 54620 KB
s1_10.txt AC 253 ms 50412 KB
s1_11.txt AC 192 ms 42472 KB
s1_12.txt AC 222 ms 46444 KB
s1_13.txt AC 160 ms 38256 KB
s1_14.txt AC 280 ms 53100 KB
s1_15.txt AC 340 ms 60248 KB
s1_16.txt AC 231 ms 47216 KB
s1_17.txt AC 244 ms 48624 KB
s2_01.txt AC 635 ms 101208 KB
s2_02.txt AC 362 ms 65372 KB
s2_03.txt AC 1697 ms 171400 KB
s2_04.txt AC 1852 ms 144060 KB
s2_05.txt AC 1532 ms 188192 KB
s2_06.txt AC 1979 ms 244588 KB
s2_07.txt AC 1363 ms 162960 KB
s2_08.txt AC 518 ms 133180 KB
s2_09.txt AC 2225 ms 236288 KB
s2_10.txt AC 2593 ms 221920 KB
s2_11.txt AC 495 ms 174200 KB
s2_12.txt AC 190 ms 43120 KB
s2_13.txt TLE 3172 ms 289988 KB
s2_14.txt TLE 3172 ms 290500 KB
s2_15.txt TLE 3170 ms 263600 KB
s2_16.txt AC 314 ms 69336 KB
s2_17.txt AC 281 ms 55384 KB
s2_18.txt AC 760 ms 208848 KB
s2_19.txt AC 564 ms 159948 KB
s2_20.txt TLE 3172 ms 268960 KB
s2_21.txt TLE 3173 ms 276240 KB
s2_22.txt AC 2112 ms 258008 KB
s2_23.txt AC 2943 ms 256032 KB
s2_24.txt AC 2880 ms 267708 KB
s2_25.txt TLE 3172 ms 271660 KB
s2_26.txt TLE 3173 ms 285220 KB
s2_27.txt TLE 3173 ms 290468 KB
s2_28.txt TLE 3173 ms 290468 KB
s2_29.txt TLE 3172 ms 285228 KB
s2_30.txt TLE 3172 ms 284724 KB
s2_31.txt TLE 3172 ms 268972 KB
s2_32.txt TLE 3172 ms 268972 KB