結果
問題 | No.45 回転寿司 |
ユーザー |
![]() |
提出日時 | 2016-05-14 17:03:57 |
言語 | Go (1.23.4) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 637 bytes |
コンパイル時間 | 20,577 ms |
コンパイル使用メモリ | 219,824 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-12-27 13:27:59 |
合計ジャッジ時間 | 16,340 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 30 |
ソースコード
package main import ( "bufio" "fmt" "os" "strconv" ) func nextInt(sc *bufio.Scanner) int { sc.Scan() i, e := strconv.Atoi(sc.Text()) if e != nil { panic(e) } return i } func max(list []int) int { maxNum := 0 for _, n := range list { if n > maxNum { maxNum = n } } return maxNum } func main() { sc := bufio.NewScanner(os.Stdin) sc.Split(bufio.ScanWords) n := nextInt(sc) dp := make([]int, n) for i := 0; i < n; i++ { sumV := nextInt(sc) if i == 2 { sumV += dp[0] } else if i > 2 { sumV += max(dp[i-3 : i-1]) } dp[i] = sumV } start := max([]int{0, n - 2}) fmt.Println(max(dp[start:])) }