結果
| 問題 |
No.204 ゴールデン・ウィーク(2)
|
| コンテスト | |
| ユーザー |
norioc
|
| 提出日時 | 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)
}
norioc