結果
| 問題 |
No.204 ゴールデン・ウィーク(2)
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2019-01-23 22:55:23 |
| 言語 | Nim (2.2.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 881 bytes |
| コンパイル時間 | 3,318 ms |
| コンパイル使用メモリ | 67,040 KB |
| 実行使用メモリ | 6,944 KB |
| 最終ジャッジ日時 | 2024-07-01 10:39:47 |
| 合計ジャッジ時間 | 4,542 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 33 WA * 13 |
コンパイルメッセージ
/home/judge/data/code/Main.nim(1, 26) Warning: imported and not used: 'algorithm' [UnusedImport]
ソースコード
import sequtils,strutils,algorithm
template `max=`*(x,y) = x = max(x,y)
proc toArray(s:string) :seq[char] = toSeq(s.items)
proc countMax[T](arr:seq[T],item:T) : int =
if arr.len == 0 : return 0
var pre = arr[0]
var cnt = 0
for i in 1..<arr.len:
let a = arr[i]
if a == pre: cnt += 1
else:
if pre == item : result .max= cnt
cnt = 1
pre = a
if arr[^1] == item : result .max= cnt
let n = stdin.readLine().parseInt()
let S = stdin.readLine() & stdin.readLine()
let X = "x".repeat(n)
let O = "o".repeat(n).toArray()
let T = (X & S & X).toArray()
proc overWrite(dst:seq[char],startIndex:int) : seq[char] =
result = dst
for i in 0..<n:
if startIndex + i >= dst.len : return @[]
# if result[startIndex + i ] == 'o' : return @[]
result[startIndex + i] = 'o'
var ans = 0
for i in 0..28:
ans .max= T.overWrite(i).countMax('o')
echo ans