結果

問題 No.457 (^^*)
コンテスト
ユーザー ciel
提出日時 2016-12-08 21:27:33
言語 Ruby
(4.0.2)
コンパイル:
ruby -w -c _filename_
実行:
ruby _filename_
結果
TLE  
実行時間 -
コード長 553 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 213 ms
コンパイル使用メモリ 8,960 KB
実行使用メモリ 14,976 KB
最終ジャッジ日時 2026-05-22 15:13:07
合計ジャッジ時間 5,431 ms
ジャッジサーバーID
(参考情報)
judge2_1 / judge1_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 12 TLE * 1 -- * 7
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #
raw source code

#!/usr/bin/ruby
def solve(s)
	al=[]
	ar=[]
	ah=[0]*s.size
	ast=[]
	s.size.times{|i|
		if s[i]==?(
			al<<i
		elsif s[i]==?)
			ar<<i
		elsif s[i]=='^'
			ah[i]+=1
		elsif s[i]=='*'
			ast<<i
		end
	}
	(1...s.size).each{|i|ah[i]+=ah[i-1]}
	ret=0
	al.each{|l|
		f=false
		ar.each{|r|
			next if l>=r
			(ret+=1;next) if f
			hidx=(l...r).bsearch{|i|ah[i]>=ah[l]+2}
			next if !hidx
			st=ast.bsearch{|e|e>=hidx}||s.size
			if st<r
				#p [l,st,r]
				ret+=1
				f=true
			end
		}
	}
	ret
end
s=gets.chomp
puts [solve(s),solve(s.reverse.tr('()',')('))]*' '
0