sum (train [k] - train [j]) * 2 부분을 더하는 것이 잘못 된 것 같은데..
30일 버스 이용권을 샀을 때,
굳이 남은 30일 동안 train을 1회이용권만 사라는 법은 없잖아요??
예를 들어서
Day 1 2 3 4 5 6 7 8 9 .... 30
bus max회 max회 .... max회
train 4회 4회 4회 4회 4회 4회 4회 0회 0회 ... 0회
이럴경우는 30일 버스 이용권 + 7일 freepass 81달러로 사는게 제일 이득인데
train을 1회 이용권 사는 것 말고도 free pass를 구매하여 이득을 보는 경우를 고려해야 할 것 같아용...
sgc109 8년 전
D(i) = i일째까지 모두 탔을때 최소비용(i>=1)
D(i) = min(
D(i-1)+bus[i]*1+train[i]*2,
D(i-1)+3+train[i]*2,
D(i-1)+6,
D(i-7)+18+sum(train[i-6]~train[i])*2,
D(i-7)+36,
D(i-30)+45+sum(train[i-29]~train[i])*2,
D(i-30)+90
)
이렇게 짜봤는데 틀렸다고나오는데 틀린이유를 잘 모르겠습니다.
(위에서 만약 D(i-x) 나 train[i-x] 같은데서 인덱스가 음수면 0 또는 0부터더하는걸로 바꿉니다.)