1 класс Решение: 2 Защиту maxSatisfied (самость, клиенты: ' Список [INT] ' , сварливым: ' Список [INT] ' , X: INT ) -> INT : 3 п = Len (клиенты) 4 presum = 0 5 J = 0 6 для ввода в интервале (п): 7 , если раздражительный [я] == 0 : 8 presum + = клиенты [I] 9 J + = 1 10 Элиф J < X: 11 presum + = клиенты [I] 12 J + = 1 13 14 maxsati = presum 15 для ввода в диапазоне ( 0 , п - Х): 16 , если раздражительный [я] == 1 : 17 presum - = клиенты [I] 18 , если раздражительный [я + X] == 1 : 19 presum + = клиенты [I + X] 20 maxsati = макс (presum, maxsati) 21 22 вернуться maxsati
Эта идея скольжения проблемы окна, в промежутке между I до I + X, предполагая, что все в спокойном состоянии, удовлетворение гостей суммируется.
Окно затем скользнуло вправо, подальше от окна крайнего левого, правого нового окна доступа, в соответствии с его первоначальным состоянием, определяется, чтобы добавить или вычесть.
Конкретная логика определения от 15 до 20 строк кода.