알고리즘 공부하고 있는 학생인데요.

지금 dynamic progamming 문제 하나만 질문할게요

 

일자로 길게 쭉 뻗은 길위에 작은 구멍가게를 짓는다고 하자.

각각의 가게들의 위치를 x1,x2,..,xi,...,xn이라고 한다.

각 i번째에 있는 가게들로 부터 얻는 수익은 ri (i=1,2,..,n)이다.

각 가게들은 서로 최소 5km 이상 떨어져 있어야한다.

 

당신은 가게들의 총 수익을 최대로 만들고 싶어한다.

Input: (x1, r1), (x2, r2), (x3, r3), ... , (xn, rn)

(i는 x의 위치에 대한 오름차순으로 정리 되어있다; i가 작을수록 시작점으로부터 가깝다.)

 

이거 막 알고리즘으로 구멍가게 막 지어서 최대수익나게 하는 알고리즘 만들어야하는데 좀 도와주세요

재귀함수써야 할 것 같은데 1번부터 시작해서 최대한 많이 짓기도 해보고 r(수익)이 가장 큰 애들부터 짓기 해도 안되고...

거의 이틀내내 고민하는데 답이 안나와여..
부탁드릴게요!