結果
| 問題 | No.588 空白と回文 | 
| コンテスト | |
| ユーザー | 👑 | 
| 提出日時 | 2019-04-08 14:33:58 | 
| 言語 | Lua (LuaJit 2.1.1734355927) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 533 ms / 2,000 ms | 
| コード長 | 652 bytes | 
| コンパイル時間 | 31 ms | 
| コンパイル使用メモリ | 6,692 KB | 
| 実行使用メモリ | 6,948 KB | 
| 最終ジャッジ日時 | 2024-07-01 22:52:07 | 
| 合計ジャッジ時間 | 3,478 ms | 
| ジャッジサーバーID (参考情報) | judge4 / judge3 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 25 | 
ソースコード
s = io.read()
ss = {}
n = string.len(s)
tall = {}
function getlen(spos, epos)
  len = 0
  while(spos <= epos) do
    if(ss[spos] == ss[epos]) then
      if(spos == epos) then len = len + 1 else len = len + 2 end
    end
    spos, epos = spos + 1, epos - 1
  end
  return len
end
for i = 1, n do
  a = string.sub(s, i, i)
  if(tall[a] == nil) then tall[a] = {} end
  table.insert(tall[a], i)
  ss[i] = a
end
maxlen = 1
for k, v in pairs(tall) do
  if(2 <= #v) then
    for i = 1, #v - 1 do
      spos = v[i]
      for j = i + 1, #v do
        epos = v[j]
        maxlen = math.max(maxlen, getlen(spos, epos))
      end
    end
  end
end
print(maxlen)
            
            
            
        