結果
| 問題 |
No.672 最長AB列
|
| コンテスト | |
| ユーザー |
urutom
|
| 提出日時 | 2019-04-03 21:03:21 |
| 言語 | Ruby (3.4.1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 609 bytes |
| コンパイル時間 | 45 ms |
| コンパイル使用メモリ | 7,424 KB |
| 実行使用メモリ | 17,920 KB |
| 最終ジャッジ日時 | 2024-12-23 07:05:24 |
| 合計ジャッジ時間 | 3,243 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 8 WA * 8 |
コンパイルメッセージ
Main.rb:14: warning: assigned but unused variable - max_char Syntax OK
ソースコード
s=gets.chomp
n=s.size
a_num=s.count(?A)
b_num=n-a_num
if a_num==b_num
puts n
exit
end
if a_num==0||b_num==0
puts 0
exit
end
min_char,max_char,min_char_num=
a_num<b_num ? [?A,?B,a_num] : [?B,?A,b_num]
min_char_pos=[*0...n].select{|i|s[i]==min_char}
until min_char_pos.empty?
if min_char_pos.size==1
puts 2
exit
end
d=min_char_pos.last-min_char_pos.first
if d>min_char_num*2
d1=min_char_pos[1]-min_char_pos[0]
d2=min_char_pos[-1]-min_char_pos[-2]
if d1>d2
min_char_pos.shift
else
min_char_pos.pop
end
else
puts min_char_num*2
exit
end
end
urutom