복슬복슬 여우꼬리
면접 대비시간 제한1초메모리 제한1024 MB
보송한 시간대 목록과 T시간씩 유지되는 마법을 최대 K번 쓸 때, 0시부터 M시 사이에서 이어지는 보송한 시간의 최댓값을 구합니다.
문제
일에 지친 한별이를 위로하려고 천계에서 여우신이 내려왔다. 여우신의 꼬리는 복슬복슬해서 가만히 안고만 있어도 치유가 된다고 한다.
그런데 여우 꼬리는 특정 시간대에만 복슬복슬하고, 그 밖의 시간에는 푸석푸석해진다. 그래서 복슬복슬 마법으로 꼬리를 다시 복슬복슬하게 만들어야 한다.
여우신은 시부터 시까지 총 시간 동안 지상에 내려와 있다. 마법은 총 번 쓸 수 있고, 한 번 쓰면 시간 동안 복슬복슬한 상태가 유지된다. 마법을 번 이내로 사용해서 한별이가 최대한 연속으로 복슬복슬한 상태에 있을 수 있는 시간을 구해 주세요.
복슬복슬 마법의 지속시간이 끝나기 전에 복슬복슬한 시간대가 시작되면, 그 시간대에 들어간 시점에서 마법은 더 이상 적용되지 않는다. 예를 들어 복슬복슬한 시간대가 시부터 시까지이고 시에 시간짜리 마법을 썼다면, 이 마법은 시부터 시까지만 적용된다. 또한 복슬복슬한 시간대에 마법을 쓰면 그 마법은 즉시 취소된다.
마법을 쓰는 도중에 여우신이 천계로 돌아가야 할 시간이 되면, 그 시점에 마법은 취소된다. 예를 들어 여우신이 시에 복귀해야 하는데 시에 시간짜리 마법을 썼다면, 이 마법은 시부터 시까지만 적용된다.
입력
첫 번째 줄에 복슬복슬한 시간대의 수 , 문제에서 설명한 , , 가 공백으로 구분되어 주어진다. (, , , )
두 번째 줄부터 번째 줄까지 복슬복슬한 시간대 , 가 공백으로 구분되어 주어진다. ()
복슬복슬한 시간대는 서로 겹치지 않고 시간 순서대로 주어지며, 이전 시간대가 끝나는 시점에 다음 시간대가 시작하는 경우는 주어지지 않는다.
출력
한별이가 최대한 연속으로 복슬복슬할 수 있는 시간을 출력한다.