Submission #14913275


Source Code Expand

#!/usr/bin/env python3
"""
Cython test
"""
from collections import defaultdict
import sys

sys.setrecursionlimit(10**6)
input = sys.stdin.buffer.readline
INF = 10 ** 9 + 1  # sys.maxsize # float("inf")

cdef long[100010] longest

cdef get_longest(long start, dict edges):
    if longest[start] != -1:
        return longest[start]

    cdef list next_edges
    next_edges = edges.get(start)
    if not next_edges:
        ret = 0
    else:
        #ret = max(get_longest(v, edges, longest) for v in edges[start]) + 1
        ret = 0
        for v in edges[start]:
            x = get_longest(v, edges) + 1
            if x > ret:
                ret = x

    longest[start] = ret
    return ret


cdef solve(N, M, edges):
    for i in range(N + 1):
        longest[i] = -1
    return max(get_longest(v, edges) for v in edges)


def main():
    N, M = map(int, input().split())
    edges = defaultdict(list)
    for i in range(M):
        v1, v2 = map(int, input().split())
        edges[v1].append(v2)

    print(solve(N, M, dict(edges)))


main()

Submission Info

Submission Time
Task G - Longest Path
User nishiohirokazu
Language Cython (0.29.16)
Score 100
Code Size 1098 Byte
Status AC
Exec Time 177 ms
Memory 42264 KiB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 22
Set Name Test Cases
All 0_00, 0_01, 0_02, 1_00, 1_01, 1_02, 1_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
Case Name Status Exec Time Memory
0_00 AC 55 ms 9524 KiB
0_01 AC 32 ms 9652 KiB
0_02 AC 26 ms 9524 KiB
1_00 AC 30 ms 9408 KiB
1_01 AC 177 ms 42264 KiB
1_02 AC 93 ms 11884 KiB
1_03 AC 138 ms 25788 KiB
1_04 AC 126 ms 20464 KiB
1_05 AC 109 ms 18488 KiB
1_06 AC 110 ms 15888 KiB
1_07 AC 103 ms 14940 KiB
1_08 AC 100 ms 13972 KiB
1_09 AC 92 ms 13380 KiB
1_10 AC 90 ms 12356 KiB
1_11 AC 112 ms 16620 KiB
1_12 AC 137 ms 25900 KiB
1_13 AC 137 ms 26132 KiB
1_14 AC 113 ms 16584 KiB
1_15 AC 109 ms 16348 KiB
1_16 AC 128 ms 24024 KiB
1_17 AC 142 ms 27896 KiB
1_18 AC 119 ms 19844 KiB