結果

問題 No.2694 The Early Bird Catches The Worm
ユーザー ID 21712
提出日時 2025-04-23 21:56:36
言語 Go
(1.23.4)
結果
AC  
実行時間 244 ms / 2,000 ms
コード長 592 bytes
コンパイル時間 12,728 ms
コンパイル使用メモリ 236,284 KB
実行使用メモリ 10,048 KB
最終ジャッジ日時 2025-04-23 21:57:03
合計ジャッジ時間 26,408 ms
ジャッジサーバーID
(参考情報)
judge5 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 72
権限があれば一括ダウンロードができます

ソースコード

diff #

package main

import . "fmt"
import . "os"
import bf  "bufio"

func main() {
	rd:=bf.NewReader(Stdin)
	var n,h int
	Fscan(rd,&n,&h)
	a := make([]int, n)
	for i := range a {
		Fscan(rd,&a[i])
	}
	b := make([]int, n)
	for i := range b {
		Fscan(rd,&b[i])
	}
	var ans int
	s,t,tt := a[0],b[0],b[0]
	l,r := 0, 0
	for {
		// println(Sprintf("l=%d,r=%d,s=%d,t=%d,tt=%d",l,r,s,t,tt))
		for tt > h {
			tt -= t
			t -= b[l]
			s -= a[l]
			l++
		}
		ans = max(ans, s)
		// println(Sprintf("ans=%d",ans))
		r++
		if r >= n {
			break
		}
		s += a[r]
		t += b[r]
		tt += (r-l+1)*b[r]
	}
	Println(ans)
}
0