해결한 사람
0
명
정답률
0.00
%
시간 제한
1000
ms
메모리 제한
245
MB
친구 Mishka와 당신은 미적분학 강의를 듣는다. 강의는 n분 동안 진행된다. 강사는 i-th분에 ai개의 정리를 설명한다.
Mishka는 미적분학에 큰 관심이 있지만, 강의 내내 깨어 있기는 매우 어렵다. Mishka의 행동을 나타내는 배열 t가 주어진다. 강의의 i-th분에 If Mishka이 잠들어 있다면 ti은 0이고, 그렇지 않으면 1이다. When Mishka이 깨어 있으면 설명을 듣는 모든 정리, 즉 i-th분에 ai개의 정리를 받아 적는다. 그렇지 않으면 아무것도 적지 않는다.
당신은 Mishka를 연속으로 k분 동안 깨어 있게 하는 비밀 기술을 알고 있다. 하지만 이 기술은 단 한 번만 사용할 수 있다. 1부터 n - k + 1 사이의 어떤 분이 시작될 때든 기술을 사용하기 시작할 수 있다. 어떤 i분에 기술을 사용하면 Mishka는
을 만족하는 j분에 깨어 있으며, 강사가 설명하는 모든 정리를 받아 적는다.
Mishka를 깨우기 위해 기술을 단 한 번 사용했을 때 Mishka가 받아 적을 수 있는 정리 수의 최댓값을 계산해야 한다.
입력의 첫 번째 줄에는 두 정수 n과 k (1 ≤ k ≤ n ≤ 105)가 주어진다. 이는 각각 강의 시간(분)과 Mishka를 깨어 있게 할 수 있는 시간(분)을 나타낸다.
입력의 두 번째 줄에는 n개의 정수 a1, a2, ... an (1 ≤ ai ≤ 104)가 주어진다. 이는 i-th분에 강사가 설명하는 정리의 수를 나타낸다.
입력의 세 번째 줄에는 n개의 정수 t1, t2, ... tn (0 ≤ ti ≤ 1)가 주어진다. 이는 강의의 i-th분에 Mishka가 보이는 행동의 유형을 나타낸다.
Mishka를 깨우기 위해 기술을 단 한 번 사용했을 때 Mishka가 받아 적을 수 있는 정리 수의 최댓값을 나타내는 정수 하나만 출력한다.
6 3
1 3 5 2 5 4
1 1 0 1 0 0
16
예제에서는 세 번째 분이 시작될 때 비밀 기술을 사용하는 것이 더 좋다. 그러면 Mishka가 받아 적을 수 있는 정리의 수는 16이 된다.