結果

問題 No.1103 Directed Length Sum
ユーザー asumo0729
提出日時 2020-10-17 18:44:09
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 853 bytes
コンパイル時間 1,044 ms
コンパイル使用メモリ 81,536 KB
実行使用メモリ 273,540 KB
最終ジャッジ日時 2024-07-21 02:58:37
合計ジャッジ時間 15,622 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 1 WA * 21
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys
from collections import deque
stdin=sys.stdin

ip=lambda: int(sp())
fp=lambda: float(sp())
lp=lambda:list(map(int,stdin.readline().split()))
sp=lambda:stdin.readline().rstrip()
yp=lambda:print('Yes')
np=lambda:print('No')

n=ip()
tonari=[[] for _ in range(n)]
st=[-1 for _ in range(n)]
for _ in range(n-1):
    a,b=lp()
    tonari[a-1].append(b-1)
    st[b-1]-=1

for i in range(n):
    if st[i]==-1:
        stx=i
        break
st[stx]=0
d={}
d[0]=1
q=deque([stx])
while q:
    now=q.popleft()
    for j in tonari[now]:
        if st[j]==-2:
            st[j]=st[now]+1
            if st[now]+1 not in d:
                d[st[now]+1]=0
            d[st[now]+1]+=1
            q.append(j)

ans=0
st.sort(reverse=True)
s=sum(st)
rest=n-1
for j in st:
    if d[j]!=0:
        ans+=s
        s-=rest
        rest-=d[j]
        d[j]=0
print(ans)
0