입력된 수열에 앞 지점(f)과 뒷 지점(b)을 설정하고 다음의 과정으로 해결한다.
1. 앞 지점과 뒷 지점의 합(t)이 입력된 부분합(s)보다 작다면 b을 앞으로 한 번 전진시킨다.
2. 그러다 t의 값이 s보다 크거나 같아질 때 f와 b의 길이를 저장(c)하고 최종 길이(rst)가 c보다 크다면 c로 갱신 후 f을 한 번 전진시킨다.
3. 과정 1, 2를 반복하다 b가 수열의 길이와 같아질 경우 멈추고 rst를 출력한다.