jobum   2년 전

94% 에서 틀려서 경계값에서 에러가 나는 것 같은 느낌인데 계속 틀리니깐 모르겠네요 진짜

어떤 로직으로 풀었냐면

우선 dp를 활용해서 테이프를 최대한 담는 일정의 시작일을 구했습니다

그리고 원하는 테이프를 자르는 값은 2개의 배열로 풀었는데 

일정의 개수를 담은 배열

끝나는 날의 개수를 담은 배열

을 이용하여 일정의 시작일 부터 정해진 끝까지 돌면서 

주간 달력이 끝나는 날에는 일정의갯수 더하고 ( 왜냐, 이어지는 일정이면 어차피 잘라야되고, 그날 끝나는 것이면 자를 것이기에)

아닌 날에는 일정이 끝나는 날의 개수를 더하여 구했습니다.  (이 부분은 81라인부터의 내용입니다)

거의 다 맞는데 뭔가 반례가 있어서 틀리는 거 같은데 못 찾겠어서 질문드립니다

jduck1024   2년 전

60번째 줄을

int end = MaxDays - totalDays + 1;

이렇게 고쳤더니 정답으로 처리된 것을 확인할 수 있었습니다.


현재 작성해주신 코드에서는 scheduleCount 배열의 50000번째 원소에 접근할 수 없으며,

1

1

50000 50000

과 같은 경우가 반례가 될 수 있을 것 같습니다!

정답 : 1

출력 : 0

jobum   2년 전

코드 읽고 틀린 부분 찾아주는게 쉽지 않은 일인데 감사합니닷...! 압도적 감사...!

댓글을 작성하려면 로그인해야 합니다.