В задании исходный код программы введен немного неправильно, поэтому я решил его загуглить и нашел во с идентичными кодом без ответа. Код, вроде, рабочий, но я его серьезно не тестировал.
N = 1E5
a, p, s = [], [], []
def main():
n = k = i = j = 0
(n, k) = (int(input()), int(input()))
p = [0] * n
s = [0] * n
for i in range(0, n):
a.append(int(input()))
if a[i] > a[j]:
p[i] = i
j = i
else:
p[i] = p[j]
j = n - 1
for i in range(n - 1, -1, -1):
if (a[i] >= a[j]):
s[i] = i
j = i
else:
s[i] = s[j]
m, l, r = 0, 0, k + 1
i = l
for j in range(r, n):
t = a[p[i]] + a[s[j]]
if t > m:
l = p[i]
r = s[j]
m = t
i += 1;
print(str(l + 1) + " " + str(r + 1))
if __name__ == "__main__":
main()
Var
s,s1:string;
begin
readln(s);
if (s[1]='в') and (s[2]=' ') then
begin
delete(s,1,1);
s:='на'+s;
end;
if (s[1]='В') and (s[2]=' ') then
begin
delete(s,1,1);
s:='На'+s;
end;
while pos(' в ',s)<>0 do
begin
if (s[1]='в') and (s[2]=' ') then
begin
delete(s,1,1);
s:='на'+s;
end;if (s[1]='В') and (s[2]=' ') then
begin
delete(s,1,1);
s:='На'+s;
end;
s1:=s1+copy(s,1,pos(' в ',s)-1)+' на ';
delete(s,1,pos(' в ',s)+2);
end;
if (s[1]='в') and (s[2]=' ') then
begin
delete(s,1,1);
s:='на'+s;
end;
if (s[1]='В') and (s[2]=' ') then
begin
delete(s,1,1);
s:='На'+s;
end;
s:=s1+s;
writeln(s);
end.
Пример ввода 1:
запасти в зиму, приехать в год, приготовить в день, выпить лекарство в ночь
Пример вывода 1:
запасти на зиму, приехать на год, приготовить на день, выпить лекарство на ночь
Пример ввода 2(глубокие песни современной отечественной эстрады):
В в в в в в в в в в в в в в в в в в н.
Пример вывода 2:
На на на на на на на на на на на на на на на на на на н.