結果
| 問題 |
No.1523 +/- Tree
|
| コンテスト | |
| ユーザー |
gew1fw
|
| 提出日時 | 2025-06-12 18:34:00 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,217 bytes |
| コンパイル時間 | 260 ms |
| コンパイル使用メモリ | 82,184 KB |
| 実行使用メモリ | 70,408 KB |
| 最終ジャッジ日時 | 2025-06-12 18:34:06 |
| 合計ジャッジ時間 | 6,539 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 26 WA * 18 |
ソースコード
n, k = map(int, input().split())
if k == 1:
print("No")
else:
# Try to construct a chain for K=2
if k == 2:
if n < 3:
print("No")
else:
edges = []
current_w = 2
for i in range(n-1):
if i % 2 == 0:
edges.append((i+1, i+2, 2))
else:
edges.append((i+1, i+2, -3))
total_sum = sum(w for u, v, w in edges)
if total_sum > 0:
print("Yes")
for u, v, w in edges:
print(u, v, w)
else:
print("No")
else:
# Check if K > (n+1)/2
if 2*k > n + 1:
l = n - 1
x = 2*k - 3
y = -2
sum_edges = 2*x + (l - 2)*y
if sum_edges > 0:
edges = []
edges.append((1, 2, x))
for i in range(2, l):
edges.append((i, i+1, y))
edges.append((l, l+1, x))
print("Yes")
for u, v, w in edges:
print(u, v, w)
else:
print("No")
else:
print("No")
gew1fw