AtCoder Beginner Contest 446 C

https://atcoder.jp/contests/abc446/tasks/abc446_c

題意通りに書くだけですが、1.2秒もかかっています。

F_each <- function(D, A, B) {
    N <- length(A)
    p <- 1  # 今使う卵の仕入れ日
    for(i in 1:N) {     # i日目
        while(B[i] >= A[p]) {
            B[i] <- B[i] - A[p]
            A[p] <- 0
            if(p == i) {
                break
            }
            p <- p + 1
        }
        A[p] <- A[p] - B[i]
        if(p <= i - D) {
            p <- p + 1
        }
    }
    sum(A[p:N])
}

v <- scan("stdin", numeric())
T <- as.integer(v[1])
p <- 2

for(t in 1:T) {
    N <- as.integer(v[p])
    D <- as.integer(v[p+1])
    A <- as.integer(v[(p+2):(p+N+1)])
    B <- as.integer(v[(p+N+2):(p+N*2+1)])
    p <- p + N*2 + 2
    
    cat(F_each(D, A, B), "\n")
}