結果
| 問題 |
No.3143 Colorless Green Parentheses Sleep Furiously
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-05-16 21:59:15 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,054 bytes |
| コンパイル時間 | 826 ms |
| コンパイル使用メモリ | 12,416 KB |
| 実行使用メモリ | 109,280 KB |
| 最終ジャッジ日時 | 2025-05-17 00:27:17 |
| 合計ジャッジ時間 | 9,300 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 18 WA * 1 RE * 30 |
ソースコード
N, K = map(int, input().split())
S = list(input())
A = [1 if S[i] == '(' else -1 for i in range(N)]
def c_problem():
wa = 0
for i in range(N):
wa += A[i]
if wa < 0:
return False
return wa == 0
if not c_problem():
exit(print("No"))
lr = []
l = 0
wa = 0
for i in range(N):
wa += A[i]
if wa == 0:
lr.append((l, i + 1))
l = i + 1
mn = sum([(r - l) // 2 + 1 for l, r in lr])
# mx = sum([(r - l) for l, r in lr]) + 2
if mn <= K:
L = K - mn
print("Yes")
ans = []
for l, r in lr:
if ans :
ans.append('+')
d = min((r - l) // 2 - 1, L)
L -= d
for i in range((r - l) // 2):
ans.append(S[i + l])
ans.append('1+')
ans.append('1')
for i in range((r - l) // 2):
ans.append(S[i + (r + l) // 2])
if i + 1 < d:
ans.append('+1')
for _ in range(L):
ans.append('+1')
assert eval("".join(ans)) == K
print("".join(ans))
else:
print("No")