고양이의 만족도
시간 제한2초메모리 제한512 MB
매시간 잠 또는 식사를 골라 총 즐거움을 최대로 만들되, 연속한 k시간마다 잠이 ms시간 이상, 식사가 me시간 이상이어야 한다.
문제
고양이가 모험을 떠난다.
고양이는 한 시간마다 잠을 자거나 밥을 먹는다. 같은 시간에 두 행동을 함께 하지는 못하고, 고른 행동 하나를 그 한 시간 내내 이어서 한다.
앞으로 다가올 시간에 대해, 각 시간에 잠을 자면 얻는 만족도와 밥을 먹으면 얻는 만족도를 모두 안다. 이 값은 시간마다 다를 수 있다.
정수 주기 도 주어진다. 연속한 시간 안에는 잠을 자는 시간이 시간 이상, 밥을 먹는 시간이 시간 이상 있어야 한다. 즉 길이가 인 구간 개가 모두 이 조건을 만족해야 한다.
앞으로 시간 동안 고양이가 얻는 만족도의 합이 최대가 되도록 할 때, 그 합을 구하라.
입력
첫째 줄에 정수 , , , 가 주어진다 (, , ). 차례대로 앞으로 다가올 시간의 수, 주기의 길이(시간), 연속한 시간 안에서 잠을 자야 하는 최소 시간 수, 밥을 먹어야 하는 최소 시간 수다.
둘째 줄에 정수 개 이 주어진다 (). 는 번째 시간에 잠을 자서 얻는 만족도다.
셋째 줄에 정수 개 이 주어진다 (). 는 번째 시간에 밥을 먹어서 얻는 만족도다.
출력
앞으로 시간 동안 고양이가 얻을 수 있는 만족도 합의 최댓값을 정수 하나로 출력한다.