Massivdagi barcha elementlar musbat bo'lgani uchun ikki ko'rsatkich (two pointers) usulidan foydalanamiz.
\(l = 1\) va \(r = 1\) deb olamiz. \(r\) ni o'ngga siljitib, segment yig'indisini hisoblab boramiz. Agar yig'indi \(S\) dan oshib ketsa, \(l\) ni o'ngga siljitib, chap tomondagi elementlarni yig'indidan chiqaramiz.
Har bir \(r\) uchun yig'indi \(S\) dan oshmaydigan eng uzun segment \([l, r]\) bo'ladi. Uning uzunligi \(r - l + 1\). Maksimal uzunlikni javobda saqlaymiz.
Agar birorta ham yaroqli segment bo'lmasa, javob \(0\) bo'ladi.