結果
問題 |
No.204 ゴールデン・ウィーク(2)
|
ユーザー |
![]() |
提出日時 | 2017-08-12 03:01:09 |
言語 | Go (1.23.4) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 662 bytes |
コンパイル時間 | 13,506 ms |
コンパイル使用メモリ | 227,996 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-12-24 12:01:20 |
合計ジャッジ時間 | 14,157 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 46 |
ソースコード
package main import ( "fmt" ) func main() { var d int var a, b string fmt.Scan(&d, &a, &b) s := a + b ans := 0 for i := -d; i <= len(s); i++ { // i 日目から有給を取る m := make(map[int]int) // <日, 平日 or 休日> for j := 0; j < len(s); j++ { m[j] = int(s[j]) } for j := i; j < i+d; j++ { // j 日から d 日連続で有給取る。 if m[j] == 0 || m[j] == 'x' { m[j] = 'o' } else { break // 休日と重なったら終了 } } p := 0 // 連続休暇 for j := -d; j < len(s)+d; j++ { if m[j] == 'o' { p++ if p > ans { ans = p } } else { p = 0 } } } fmt.Println(ans) }