結果
| 問題 |
No.3206 う し た ウ ニ 木 あ く ん 笑
|
| コンテスト | |
| ユーザー |
ゼット
|
| 提出日時 | 2025-07-18 21:45:51 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,355 bytes |
| コンパイル時間 | 303 ms |
| コンパイル使用メモリ | 82,844 KB |
| 実行使用メモリ | 172,320 KB |
| 最終ジャッジ日時 | 2025-07-18 21:46:49 |
| 合計ジャッジ時間 | 18,188 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 WA * 1 |
| other | AC * 2 WA * 28 |
ソースコード
N=int(input())
G=[[] for i in range(N)]
for i in range(N-1):
a,b=map(int,input().split())
G[a-1].append(b-1)
G[b-1].append(a-1)
from collections import deque
S=deque()
dist=[-1]*N
dist[0]=0
S.append(0)
while S:
x=S.pop()
for y in G[x]:
if dist[y]>=0:
continue
dist[y]=dist[x]+1
S.append(y)
T=[{} for i in range(N)]
L=[]
for i in range(N):
L.append((dist[i],i))
dp=[0]*N
L.sort(reverse=True)
for i in range(N):
x=L[i][1]
w=0
for y in G[x]:
if dist[y]<dist[x]:
continue
w=max(dp[y]+1,w)
T[x][y]=dp[y]
dp[x]=w
S=deque()
S.append(0)
while S:
x=S.pop()
m=len(G[x])
l=[0]*m
r=[0]*m
for i in range(m):
y=G[x][i]
d=T[x][y]
l[i]=d
r[i]=d
for i in range(1,m):
l[i]=max(l[i-1],l[i])
for i in range(m-2,-1,-1):
r[i]=max(r[i],r[i+1])
for i in range(m):
y=G[x][i]
if dist[y]<dist[x]:
continue
w=0
if i>0:
w=max(w,l[i-1]+1)
if i<m-1:
w=max(w,r[i+1]+1)
T[y][x]=w
S.append(y)
result=0
for i in range(N):
l=[]
for j in G[i]:
l.append(T[i][j])
l.sort()
for m in range(len(G[i])):
x=l[m]
count=x*(m+1)+1
result=max(result,count)
print(result)
ゼット