結果

問題 No.3143 Colorless Green Parentheses Sleep Furiously
ユーザー ID 21712
提出日時 2025-05-17 00:49:49
言語 Go
(1.23.4)
結果
TLE  
実行時間 -
コード長 933 bytes
コンパイル時間 14,216 ms
コンパイル使用メモリ 262,404 KB
実行使用メモリ 16,064 KB
最終ジャッジ日時 2025-05-17 00:50:28
合計ジャッジ時間 33,016 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 47 TLE * 2
権限があれば一括ダウンロードができます

ソースコード

diff #

package main

import . "fmt"
import . "strings"
func main() {
	var n,k int
	var s string
	Scan(&n,&k,&s)
	// Xでコーナーケースの話を見てしまった
	// 減点
	if n%2==1 {
		Println("No")
		return
	}
	if Count(s,"(")!=Count(s,")") {
		Println("No")
		return
	}
	t:=""
	d:=make([]int,n+1)
	x:=0
	y:=0
	for i,c:=range s {
		if c=='(' {
			x++
			d[x]=0
			if i>0&&s[i-1]==')'{
				t+="+"
				d[x-1]++
			}
			t+="("
		} else {
			x--
			if x<0 {
				Println("No")
				return
			}
			if s[i-1]=='(' {
				t+="1+1"
			}
			if s[i-1]==')'&&d[x+1]==0 {
				t+="+1"
			}
			t+=")"
			if x==0 {
				y++
			}
		}
	}
	if x>0 {
		Println("No")
		return
	}
	//s=ReplaceAll(s,"()","(1+1)")
	//s=ReplaceAll(s,")(",")+(")
	//for Contains(s,"))") {
	//s=ReplaceAll(s,"))",")+1)")
	//}
	z:=Count(t,"1")
	if z>k {
		Println("No")
		return
	}
	if z==k&&y==1 {
		Println("No")
		return
	}
	t+=Repeat("+1",k-z)
	Println("Yes")
	Println(t)
}
0