В задании исходный код программы введен немного неправильно, поэтому я решил его загуглить и нашел во с идентичными кодом без ответа. Код, вроде, рабочий, но я его серьезно не тестировал.
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
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()
101₁₀ = 1100101₂
123₁₀ = 1111011₂
324₁₀ = 101000100₂
Объяснение:
101 / 2 = 50 + остаток 1
50 / 2 = 25 + остаток 0
25 / 2 = 12 + остаток 1
12 / 2 = 6 + остаток 0
6 / 2 = 3 + остаток 0
3 / 2 = 1 + остаток 1
1 / 2 = 0 + остаток 1
записываем остатки снизу вверх
123 / 2 = 61 + остаток 1
61 / 2 = 30 + остаток 1
30 / 2 = 15 + остаток 0
15 / 2 = 7 + остаток 1
7 / 2 = 3 + остаток 1
324 / 2 = 162 + остаток 0
162 / 2 = 81 + остаток 0
81 / 2 = 40 + остаток 1
40 / 2 = 20 + остаток 0
20 / 2 = 10 + остаток 0
10 / 2 = 5 + остаток 0
5 / 2 = 2 + остаток 1
2 / 2 = 1 + остаток 0
В задании исходный код программы введен немного неправильно, поэтому я решил его загуглить и нашел во с идентичными кодом без ответа. Код, вроде, рабочий, но я его серьезно не тестировал.
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()
101₁₀ = 1100101₂
123₁₀ = 1111011₂
324₁₀ = 101000100₂
Объяснение:
101 / 2 = 50 + остаток 1
50 / 2 = 25 + остаток 0
25 / 2 = 12 + остаток 1
12 / 2 = 6 + остаток 0
6 / 2 = 3 + остаток 0
3 / 2 = 1 + остаток 1
1 / 2 = 0 + остаток 1
записываем остатки снизу вверх
101₁₀ = 1100101₂
123 / 2 = 61 + остаток 1
61 / 2 = 30 + остаток 1
30 / 2 = 15 + остаток 0
15 / 2 = 7 + остаток 1
7 / 2 = 3 + остаток 1
3 / 2 = 1 + остаток 1
1 / 2 = 0 + остаток 1
записываем остатки снизу вверх
123₁₀ = 1111011₂
324 / 2 = 162 + остаток 0
162 / 2 = 81 + остаток 0
81 / 2 = 40 + остаток 1
40 / 2 = 20 + остаток 0
20 / 2 = 10 + остаток 0
10 / 2 = 5 + остаток 0
5 / 2 = 2 + остаток 1
2 / 2 = 1 + остаток 0
1 / 2 = 0 + остаток 1
записываем остатки снизу вверх
324₁₀ = 101000100₂