結果
| 問題 | No.2618 除霊 |
| コンテスト | |
| ユーザー |
ニックネーム
|
| 提出日時 | 2024-01-26 23:05:39 |
| 言語 | PyPy3 (7.3.17) |
| 結果 |
AC
|
| 実行時間 | 518 ms / 2,000 ms |
| コード長 | 571 bytes |
| 記録 | |
| コンパイル時間 | 306 ms |
| コンパイル使用メモリ | 85,236 KB |
| 実行使用メモリ | 164,100 KB |
| 最終ジャッジ日時 | 2026-04-15 01:07:57 |
| 合計ジャッジ時間 | 19,506 ms |
|
ジャッジサーバーID (参考情報) |
judge3_1 / judge2_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 43 |
ソースコード
n = int(input())
adj = [[] for _ in range(n)]
for _ in range(n-1):
a,b = map(int,input().split())
adj[a-1].append(b-1); adj[b-1].append(a-1)
m = int(input())
a = {v-1 for v in map(int,input().split())}
c = [0]*n; d = [0]*n
for p in range(n):
c[p] = p in a
for v in adj[p]: c[p] += v in a
for p in range(n):
if p in a:
for v in adj[p]: d[p] += c[v]==1
s = sum(c[p]>0 for p in range(n))
for p in range(n):
t = s-(c[p]>0)
for v in adj[p]:
if c[v]: t -= c[v]-(p in a)-(v in a)==0
if v in a: t -= d[v]-(c[p]==1)
print(t)
ニックネーム