提出 #32170193
ソースコード 拡げる
class UnionFind:
def __init__(self, n):
self.par = [i for i in range(n)]
self.siz = [1] * n
def root(self, x):
if self.par[x] == x:
return x
self.par[x] = self.root(self.par[x]) # 経路圧縮
return self.par[x]
def unite(self, x, y):
x = self.root(x)
y = self.root(y)
if x == y:
return
if self.siz[x] > self.siz[y]: # マージテク
self.par[y] = x
self.siz[x] += self.siz[y]
else:
self.par[x] = y
self.siz[y] += self.siz[x]
def is_same(self, x, y):
return self.root(x) == self.root(y)
def size(self, x):
return self.siz[self.root(x)]
n = int(input())
a = list(map(int, input().split()))
uf = UnionFind(200001)
answer = 0
for i in range(n):
if not uf.is_same(a[i], a[n - 1 - i]):
uf.unite(a[i], a[n - 1 - i])
answer += 1
print(answer)
提出情報
| 提出日時 | |
|---|---|
| 問題 | D - KAIBUNsyo |
| ユーザ | Pro_ktmr |
| 言語 | PyPy3 (7.3.0) |
| 得点 | 400 |
| コード長 | 976 Byte |
| 結果 | AC |
| 実行時間 | 246 ms |
| メモリ | 106968 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 400 / 400 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | sample_01.txt, sample_02.txt, sample_03.txt |
| All | 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 |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| sample_01.txt | AC | 71 ms | 79048 KiB |
| sample_02.txt | AC | 61 ms | 79096 KiB |
| sample_03.txt | AC | 59 ms | 78888 KiB |
| test_01.txt | AC | 61 ms | 79080 KiB |
| test_02.txt | AC | 58 ms | 79092 KiB |
| test_03.txt | AC | 62 ms | 79492 KiB |
| test_04.txt | AC | 60 ms | 79696 KiB |
| test_05.txt | AC | 59 ms | 80404 KiB |
| test_06.txt | AC | 63 ms | 80320 KiB |
| test_07.txt | AC | 192 ms | 100604 KiB |
| test_08.txt | AC | 231 ms | 102812 KiB |
| test_09.txt | AC | 136 ms | 89220 KiB |
| test_10.txt | AC | 178 ms | 106968 KiB |
| test_11.txt | AC | 162 ms | 98036 KiB |
| test_12.txt | AC | 101 ms | 88928 KiB |
| test_13.txt | AC | 123 ms | 95264 KiB |
| test_14.txt | AC | 204 ms | 100044 KiB |
| test_15.txt | AC | 165 ms | 101540 KiB |
| test_16.txt | AC | 213 ms | 103472 KiB |
| test_17.txt | AC | 192 ms | 103212 KiB |
| test_18.txt | AC | 217 ms | 103068 KiB |
| test_19.txt | AC | 246 ms | 103412 KiB |
| test_20.txt | AC | 236 ms | 103408 KiB |
| test_21.txt | AC | 234 ms | 103284 KiB |
| test_22.txt | AC | 225 ms | 102860 KiB |
| test_23.txt | AC | 110 ms | 102616 KiB |
| test_24.txt | AC | 109 ms | 103344 KiB |
| test_25.txt | AC | 103 ms | 102544 KiB |
| test_26.txt | AC | 95 ms | 103056 KiB |
| test_27.txt | AC | 114 ms | 103264 KiB |
| test_28.txt | AC | 112 ms | 103288 KiB |