SHOW ME THE DUNGEON
면접 대비시간 제한2초메모리 제한512 MB
몬스터를 골라 순서대로 물리칠 때 총 체력 소모가 K를 넘지 않으면서 구출할 수 있는 주민 수의 최댓값을 구합니다.
문제
올여름 출시된 RPG 게임 "SHOW ME THE DUNGEON"에서 주인공 시루는 몬스터에게 침략당한 마을을 구한다. 나라에는 0번부터 N번까지 번호가 붙은 N+1개의 마을이 있다. 0번 마을과 1번부터 N번까지의 마을을 오갈 수 있는 도로가 있고, 이 밖의 도로는 없다. 즉, 도로는 모두 N개이다.
게임이 시작하면 시루는 0번 마을에 있다. 0번 마을을 제외한 1번부터 N번 마을에는 몬스터가 한 마리씩 있다. 시루는 도로를 따라 마을을 방문하며, 한 마을에서 다른 마을로 가려면 반드시 0번 마을을 거쳐야 한다. 시루는 몇 개의 마을을 골라 적당한 순서로 방문해 몬스터와 싸울 것이다.
번 마을의 몬스터는 공격력이 이고, 그 마을에는 명의 주민이 있다. 시루는 마을을 방문하면 몬스터와 싸운 뒤 주민을 해방시킨다. 시루의 초기 체력은 이다. 마을 를 방문하기 전에 마을 를 방문했다면, 마을 에서 몬스터와 싸울 때 체력을 만큼 소모한다. 시루의 체력이 0보다 작아지면 주민을 해방시키지 못하고 게임이 끝난다.
모든 마을의 주민을 해방시키는 것은 불가능할 수 있다. 그래서 시루는 체력을 최대 만큼만 소모하면서 최대한 많은 주민을 해방시키려고 한다. 시루가 해방시킬 수 있는 주민 수의 최댓값을 구하시오.
입력
첫째 줄에 몬스터의 수 과 시루의 초기 체력 가 공백으로 구분되어 주어진다.
둘째 줄에 각 마을 몬스터의 공격력 이 공백으로 구분되어 주어진다.
셋째 줄에 각 마을의 주민 수 이 공백으로 구분되어 주어진다.
입력으로 주어지는 모든 값은 정수이다.
출력
시루가 해방시킬 수 있는 주민 수의 최댓값을 출력한다. 주민을 한 명도 해방시킬 수 없다면 0을 출력한다.