Submission #17651342
Source Code Expand
import sys
from collections import defaultdict
def IN_I(): return int(sys.stdin.readline().rstrip())
def IN_LI(): return list(map(int, sys.stdin.readline().rstrip().split()))
def IN_S(): return sys.stdin.readline().rstrip()
def IN_LS(): return list(sys.stdin.readline().rstrip().split())
INF = float('inf')
class UnionFind:
def __init__(self, n):
self.n = n # 頂点数
self.par = [i for i in range(n)] # 親
self.rank = [0 for _ in range(n)] # 根の深さ
# xの属する木の根を求める
def find(self, x):
if self.par[x] == x:
return x
else:
self.par[x] = self.find(self.par[x])
return self.par[x]
# xとyの属する集合のマージ
def unite(self, x, y):
x = self.find(x)
y = self.find(y)
if x == y:
return
if self.rank[x] < self.rank[y]:
self.par[x] = y
else:
self.par[y] = x
if self.rank[x] == self.rank[y]:
self.rank[x] += 1
# xとyが同じ集合に属するかを判定
def same(self, x, y):
return self.find(x) == self.find(y)
# すべての要素を親別に格納
def get_groups(self):
groups = defaultdict(list)
for m in range(self.n):
groups[self.find(m)].append(m)
return groups
N, M = IN_LI()
A = IN_LI()
B = IN_LI()
uf = UnionFind(N)
for i in range(M):
c, d = IN_LI()
uf.unite(c-1, d-1)
trees = uf.get_groups()
for k, v in trees.items():
sum_a = 0
sum_b = 0
for m in v:
sum_a += A[m]
sum_b += B[m]
if sum_a != sum_b:
print('No')
exit()
print('Yes')
Submission Info
| Submission Time | |
|---|---|
| Task | B - Values |
| User | okayuki |
| Language | PyPy3 (7.3.0) |
| Score | 400 |
| Code Size | 1768 Byte |
| Status | AC |
| Exec Time | 465 ms |
| Memory | 137540 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 400 / 400 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | 00_sample_00, 00_sample_01, 00_sample_02, 00_sample_03 |
| All | 00_sample_00, 00_sample_01, 00_sample_02, 00_sample_03, 01_small_0, 01_small_1, 01_small_2, 01_small_3, 01_small_4, 01_small_5, 01_small_6, 01_small_7, 01_small_8, 01_small_9, 02_large_0, 02_large_1, 02_largecon_0, 02_largecon_1, 02_largecon_2, 02_largecon_3, 02_largecon_4, 02_largecon_5, 02_toolarge_0, 02_toolarge_1, 02_toolarge_2, 02_toolarge_3, 03_few_e_0, 03_few_e_1, 03_few_e_2, 03_few_e_3, 03_few_e_4, 03_few_e_5, 03_is_tree_0, 03_is_tree_1, 03_is_tree_2, 03_is_tree_3, 04_kill_overflow_0, 04_kill_overflow_1, 04_kill_overflow_2, 04_kill_overflow_3, 04_sumequal_0, 04_sumequal_1, 04_sumequal_2, 04_sumequal_3 |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 00_sample_00 | AC | 76 ms | 64868 KiB |
| 00_sample_01 | AC | 58 ms | 64972 KiB |
| 00_sample_02 | AC | 60 ms | 64912 KiB |
| 00_sample_03 | AC | 59 ms | 65020 KiB |
| 01_small_0 | AC | 60 ms | 65072 KiB |
| 01_small_1 | AC | 56 ms | 64972 KiB |
| 01_small_2 | AC | 61 ms | 64976 KiB |
| 01_small_3 | AC | 60 ms | 64788 KiB |
| 01_small_4 | AC | 62 ms | 64888 KiB |
| 01_small_5 | AC | 59 ms | 65064 KiB |
| 01_small_6 | AC | 62 ms | 64956 KiB |
| 01_small_7 | AC | 60 ms | 64932 KiB |
| 01_small_8 | AC | 57 ms | 64968 KiB |
| 01_small_9 | AC | 59 ms | 64824 KiB |
| 02_large_0 | AC | 306 ms | 114376 KiB |
| 02_large_1 | AC | 254 ms | 82216 KiB |
| 02_largecon_0 | AC | 388 ms | 105680 KiB |
| 02_largecon_1 | AC | 401 ms | 117188 KiB |
| 02_largecon_2 | AC | 395 ms | 106344 KiB |
| 02_largecon_3 | AC | 336 ms | 99792 KiB |
| 02_largecon_4 | AC | 420 ms | 127180 KiB |
| 02_largecon_5 | AC | 384 ms | 107504 KiB |
| 02_toolarge_0 | AC | 465 ms | 130152 KiB |
| 02_toolarge_1 | AC | 463 ms | 130860 KiB |
| 02_toolarge_2 | AC | 435 ms | 129944 KiB |
| 02_toolarge_3 | AC | 450 ms | 130508 KiB |
| 03_few_e_0 | AC | 143 ms | 110792 KiB |
| 03_few_e_1 | AC | 184 ms | 137196 KiB |
| 03_few_e_2 | AC | 159 ms | 117680 KiB |
| 03_few_e_3 | AC | 189 ms | 137540 KiB |
| 03_few_e_4 | AC | 184 ms | 132876 KiB |
| 03_few_e_5 | AC | 165 ms | 126996 KiB |
| 03_is_tree_0 | AC | 364 ms | 108700 KiB |
| 03_is_tree_1 | AC | 344 ms | 104012 KiB |
| 03_is_tree_2 | AC | 330 ms | 98424 KiB |
| 03_is_tree_3 | AC | 337 ms | 99812 KiB |
| 04_kill_overflow_0 | AC | 446 ms | 123372 KiB |
| 04_kill_overflow_1 | AC | 338 ms | 98424 KiB |
| 04_kill_overflow_2 | AC | 368 ms | 99368 KiB |
| 04_kill_overflow_3 | AC | 344 ms | 98320 KiB |
| 04_sumequal_0 | AC | 229 ms | 105596 KiB |
| 04_sumequal_1 | AC | 252 ms | 82400 KiB |
| 04_sumequal_2 | AC | 133 ms | 77208 KiB |
| 04_sumequal_3 | AC | 180 ms | 90732 KiB |