結果

問題 No.3057 Tree Distance Set
ユーザー nikoro256
提出日時 2025-03-17 17:53:16
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 44 ms / 2,000 ms
コード長 561 bytes
コンパイル時間 747 ms
コンパイル使用メモリ 82,452 KB
実行使用メモリ 60,448 KB
最終ジャッジ日時 2025-03-17 17:53:19
合計ジャッジ時間 2,432 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 20
権限があれば一括ダウンロードができます

ソースコード

diff #

K=int(input())
D=list(map(int,input().split()))
D.sort()
node=0
edges=[]
last=0
S=[]
for i in range(K):
    if node==0:
        edges.append((node,node+2,D[i]//2))
        edges.append((node+2,node+1,D[i]//2))
        last=D[i]//2
        S.append(node)
        S.append(node+1)
        node+=2
    else:
        edges.append((node,node+2,D[i]//2-last))
        edges.append((node+2,node+1,D[i]//2))
        S.append(node+1)
        last=D[i]//2
        node+=2
print(node+1)
for a,b,c in edges:
    print(a+1,b+1,c)
print(len(S))
print(*[s+1 for s in S])

    
0