結果
問題 |
No.204 ゴールデン・ウィーク(2)
|
ユーザー |
|
提出日時 | 2019-01-23 22:59:44 |
言語 | Nim (2.2.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 908 bytes |
コンパイル時間 | 3,200 ms |
コンパイル使用メモリ | 66,832 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-07-01 10:39:59 |
合計ジャッジ時間 | 4,467 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 41 WA * 5 |
コンパイルメッセージ
/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(n:int,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: for ni in 1..n: ans .max= overWrite(ni,T,i).countMax('o') echo ans