Ты сейчас на собеседовании? Они скоро вернутся в комнату?
Поскольку он отсортирован, то одним из решений (если оно есть!) Является [0] и некоторое наибольшее [M]. Затем обработайте нижний индекс вверх от 0, а верхний индекс - вниз от M. И некоторые детали о том, что нужно поднять и когда отклонить.
Редактировать - поскольку все еще может быть O (n ^ 2) решений (например, если S больше чем в два раза больше самой большой записи), трюк будет в выражении решений диапазоны. В противном случае, просто перечисление займет слишком много времени.