Submission #49208917
Source Code Expand
from heapq import *
class Union:
def __init__(self, n):
self.p = [i for i in range(n)]
self.size = [1] * n
def find(self, i):
if self.p[i] != i:
self.p[i] = self.find(self.p[i])
return self.p[i]
def link(self, i, j):
i, j = self.find(i), self.find(j)
if self.size[i] < self.size[j]:
i, j = j, i
self.p[j] = i
self.size[i] += self.size[j]
n, m = [int(i) for i in input().split()]
a = [int(i) for i in input().split()]
A = [[] for _ in range(n)]
Aij = []
U = Union(n)
for _ in range(m):
u, v = [int(i) for i in input().split()]
u -= 1
v -= 1
if a[u] == a[v]:
U.link(u, v)
else:
Aij.append((u, v))
for u, v in Aij:
u = U.find(u)
v = U.find(v)
if a[u] < a[v]:
A[u].append(v)
elif a[v] < a[u]:
A[v].append(u)
ds = [0] * n
cur = [(0, -1, U.find(0))] # value, -d, node
ds[U.find(0)] = 1
while cur:
_, d, node = heappop(cur)
d = -d
if d != ds[node]:
continue
for child in A[node]:
if d + 1 <= ds[child]:
continue
ds[child] = d + 1
heappush(cur, (a[child], -(d + 1), child))
# print(cur)
# print(A, ds)
print(ds[U.find(n - 1)])
Submission Info
| Submission Time | |
|---|---|
| Task | E - Non-Decreasing Colorful Path |
| User | shinever |
| Language | Python (PyPy 3.10-v7.3.12) |
| Score | 525 |
| Code Size | 1316 Byte |
| Status | AC |
| Exec Time | 779 ms |
| Memory | 140568 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 525 / 525 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample_01.txt, sample_02.txt, sample_03.txt |
| All | hand_01.txt, hand_02.txt, sample_01.txt, sample_02.txt, sample_03.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt, test_39.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt, test_44.txt, test_45.txt, test_46.txt, test_47.txt, test_48.txt, test_49.txt, test_50.txt, test_51.txt, test_52.txt, test_53.txt, test_54.txt, test_55.txt, test_56.txt, test_57.txt, test_58.txt, test_59.txt, test_60.txt, test_61.txt, test_62.txt, test_63.txt, test_64.txt, test_65.txt, test_66.txt, test_67.txt, test_68.txt, test_69.txt, test_70.txt, test_71.txt, test_72.txt, test_73.txt, test_74.txt, test_75.txt, test_76.txt, test_77.txt, test_78.txt, test_79.txt, test_80.txt, test_81.txt, test_82.txt, test_83.txt, test_84.txt, test_85.txt, test_86.txt, test_87.txt, test_88.txt, test_89.txt, test_90.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| hand_01.txt | AC | 59 ms | 76368 KiB |
| hand_02.txt | AC | 58 ms | 76544 KiB |
| sample_01.txt | AC | 59 ms | 76576 KiB |
| sample_02.txt | AC | 58 ms | 76316 KiB |
| sample_03.txt | AC | 59 ms | 76444 KiB |
| test_01.txt | AC | 61 ms | 76308 KiB |
| test_02.txt | AC | 285 ms | 126604 KiB |
| test_03.txt | AC | 294 ms | 112060 KiB |
| test_04.txt | AC | 215 ms | 112244 KiB |
| test_05.txt | AC | 659 ms | 85696 KiB |
| test_06.txt | AC | 187 ms | 103284 KiB |
| test_07.txt | AC | 181 ms | 99092 KiB |
| test_08.txt | AC | 201 ms | 100804 KiB |
| test_09.txt | AC | 188 ms | 96952 KiB |
| test_10.txt | AC | 244 ms | 103836 KiB |
| test_11.txt | AC | 125 ms | 87444 KiB |
| test_12.txt | AC | 205 ms | 83320 KiB |
| test_13.txt | AC | 152 ms | 94172 KiB |
| test_14.txt | AC | 165 ms | 93632 KiB |
| test_15.txt | AC | 104 ms | 84256 KiB |
| test_16.txt | AC | 171 ms | 88036 KiB |
| test_17.txt | AC | 200 ms | 93300 KiB |
| test_18.txt | AC | 448 ms | 84668 KiB |
| test_19.txt | AC | 180 ms | 101652 KiB |
| test_20.txt | AC | 103 ms | 84588 KiB |
| test_21.txt | AC | 155 ms | 87028 KiB |
| test_22.txt | AC | 181 ms | 91600 KiB |
| test_23.txt | AC | 365 ms | 106480 KiB |
| test_24.txt | AC | 536 ms | 84888 KiB |
| test_25.txt | AC | 94 ms | 83468 KiB |
| test_26.txt | AC | 131 ms | 88160 KiB |
| test_27.txt | AC | 159 ms | 89032 KiB |
| test_28.txt | AC | 186 ms | 94384 KiB |
| test_29.txt | AC | 175 ms | 95844 KiB |
| test_30.txt | AC | 116 ms | 83044 KiB |
| test_31.txt | AC | 120 ms | 86600 KiB |
| test_32.txt | AC | 139 ms | 89408 KiB |
| test_33.txt | AC | 159 ms | 94364 KiB |
| test_34.txt | AC | 177 ms | 95672 KiB |
| test_35.txt | AC | 87 ms | 83488 KiB |
| test_36.txt | AC | 173 ms | 83484 KiB |
| test_37.txt | AC | 135 ms | 89264 KiB |
| test_38.txt | AC | 155 ms | 92764 KiB |
| test_39.txt | AC | 192 ms | 98896 KiB |
| test_40.txt | AC | 111 ms | 84528 KiB |
| test_41.txt | AC | 583 ms | 117976 KiB |
| test_42.txt | AC | 561 ms | 114660 KiB |
| test_43.txt | AC | 678 ms | 123368 KiB |
| test_44.txt | AC | 675 ms | 122356 KiB |
| test_45.txt | AC | 396 ms | 110860 KiB |
| test_46.txt | AC | 603 ms | 118252 KiB |
| test_47.txt | AC | 652 ms | 120588 KiB |
| test_48.txt | AC | 698 ms | 122592 KiB |
| test_49.txt | AC | 706 ms | 125632 KiB |
| test_50.txt | AC | 546 ms | 115792 KiB |
| test_51.txt | AC | 507 ms | 111940 KiB |
| test_52.txt | AC | 608 ms | 118068 KiB |
| test_53.txt | AC | 609 ms | 118204 KiB |
| test_54.txt | AC | 697 ms | 123320 KiB |
| test_55.txt | AC | 596 ms | 118316 KiB |
| test_56.txt | AC | 750 ms | 140276 KiB |
| test_57.txt | AC | 738 ms | 139532 KiB |
| test_58.txt | AC | 734 ms | 140208 KiB |
| test_59.txt | AC | 754 ms | 140316 KiB |
| test_60.txt | AC | 743 ms | 140456 KiB |
| test_61.txt | AC | 748 ms | 140568 KiB |
| test_62.txt | AC | 735 ms | 140524 KiB |
| test_63.txt | AC | 755 ms | 139800 KiB |
| test_64.txt | AC | 742 ms | 140036 KiB |
| test_65.txt | AC | 779 ms | 140044 KiB |
| test_66.txt | AC | 642 ms | 129152 KiB |
| test_67.txt | AC | 631 ms | 129564 KiB |
| test_68.txt | AC | 597 ms | 129340 KiB |
| test_69.txt | AC | 600 ms | 129828 KiB |
| test_70.txt | AC | 632 ms | 129632 KiB |
| test_71.txt | AC | 616 ms | 129064 KiB |
| test_72.txt | AC | 613 ms | 129880 KiB |
| test_73.txt | AC | 602 ms | 129972 KiB |
| test_74.txt | AC | 606 ms | 129484 KiB |
| test_75.txt | AC | 621 ms | 130152 KiB |
| test_76.txt | AC | 80 ms | 82328 KiB |
| test_77.txt | AC | 81 ms | 82820 KiB |
| test_78.txt | AC | 82 ms | 81996 KiB |
| test_79.txt | AC | 85 ms | 83780 KiB |
| test_80.txt | AC | 81 ms | 82136 KiB |
| test_81.txt | AC | 218 ms | 112072 KiB |
| test_82.txt | AC | 213 ms | 112008 KiB |
| test_83.txt | AC | 218 ms | 112228 KiB |
| test_84.txt | AC | 219 ms | 111472 KiB |
| test_85.txt | AC | 216 ms | 112032 KiB |
| test_86.txt | AC | 293 ms | 108892 KiB |
| test_87.txt | AC | 286 ms | 108772 KiB |
| test_88.txt | AC | 294 ms | 109116 KiB |
| test_89.txt | AC | 292 ms | 108972 KiB |
| test_90.txt | AC | 273 ms | 111188 KiB |