В задании исходный код программы введен немного неправильно, поэтому я решил его загуглить и нашел во с идентичными кодом без ответа. Код, вроде, рабочий, но я его серьезно не тестировал.
идея компьютера была предложена чарльзом бэбиджем (charles babage) в середине девятнадцатого века. его механическая «аналитическая машина» так и не смогла по-настоящему заработать, потому что технологии того времени не удовлетворяли требованиям, необходимым для изготовления нужных деталей точной механики. конечно, никакой речи об операционной системедля этого «компьютера» не шло. настоящее рождение цифровых вычислительных машин произошло вскоре после окончания второй мировой войны. в середине 40-х были созданы первые ламповые вычислительные устройства. в то время одна и та же группа людей участвовала и в проектировании, и в эксплуатации, и в программировании вычислительной машины. это была скорее научно-исследовательская работа в области вычислительной техники, а не использование компьютеров в качестве инструмента решения каких-либо практических из других прикладных областей. программирование осуществлялось исключительно на машинном языке. не было никакогосистемного программного обеспечения, кроме библиотек и служебных подпрограмм, которые программист мог использовать для того, чтобы не писать каждый раз коды, вычисляющие значение какой-либо функции или стандартным устройством ввода-вывода.операционные системывсе еще не появились, все организации вычислительного процесса решались вручную каждым программистом с пульта , который представлял собой примитивное устройство ввода-вывода, состоящее из кнопок, переключателей и индикаторов. с середины 50-х годов начался новый период в развитии вычислительной техники, связанный с появлением новой технической базы. выросло , увеличились объемыоперативнойи внешней памяти. компьютеры стали более надежными, теперь они могли непрерывно работать настолько долго, чтобы на них можно было возложить выполнение действительно практически важных . но выполнение каждой программы включало в себя большое количество работ (загрузка, запуск, получение результирующей программы в машинных кодах и т. поэтому для организации эффективного совместного использования были введены должности операторов, профессионально выполнявших работу по организации вычислительного процесса для всех пользователей этого центра.
но как бы быстро и надежно ни работали операторы, они никак не могли состязаться в производительности с работой устройств компьютера. а поскольку процессорпредставлял собой весьма дорогое устройство, то низкая эффективность его использования означала низкую эффективность использования компьютера в целом. для решения этой проблемы и были разработаны первые системыпакетной обработки, которые автоматизировали всю последовательность действий оператора по организации вычислительного процесса. ранние системыпакетной обработкиявились прообразом современныхоперационных систем, они стали первыми системными программами, предназначенными не для обработки данных, а для вычислительным процессом.
в ходе реализации систем пакетной обработкибыл разработан формализованный язык , с которого программист сообщал системе и оператору, какие действия и в какой последовательности он хочет выполнить на вычислительной машине.
ранние системы пакетной обработки значительно сократили затраты времени на действия по организации вычислительного процесса, а значит, был сделан еще один шаг по повышению эффективности использования компьютеров. однако при этом программисты-пользователи лишились непосредственного доступа к компьютеру, что снижало эффективность их работы — внесение любого исправления требовало значительно больше времени, чем при интерактивной работе за пультом машины.
В задании исходный код программы введен немного неправильно, поэтому я решил его загуглить и нашел во с идентичными кодом без ответа. Код, вроде, рабочий, но я его серьезно не тестировал.
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()
идея компьютера была предложена чарльзом бэбиджем (charles babage) в середине девятнадцатого века. его механическая «аналитическая машина» так и не смогла по-настоящему заработать, потому что технологии того времени не удовлетворяли требованиям, необходимым для изготовления нужных деталей точной механики. конечно, никакой речи об операционной системедля этого «компьютера» не шло. настоящее рождение цифровых вычислительных машин произошло вскоре после окончания второй мировой войны. в середине 40-х были созданы первые ламповые вычислительные устройства. в то время одна и та же группа людей участвовала и в проектировании, и в эксплуатации, и в программировании вычислительной машины. это была скорее научно-исследовательская работа в области вычислительной техники, а не использование компьютеров в качестве инструмента решения каких-либо практических из других прикладных областей. программирование осуществлялось исключительно на машинном языке. не было никакогосистемного программного обеспечения, кроме библиотек и служебных подпрограмм, которые программист мог использовать для того, чтобы не писать каждый раз коды, вычисляющие значение какой-либо функции или стандартным устройством ввода-вывода.операционные системывсе еще не появились, все организации вычислительного процесса решались вручную каждым программистом с пульта , который представлял собой примитивное устройство ввода-вывода, состоящее из кнопок, переключателей и индикаторов. с середины 50-х годов начался новый период в развитии вычислительной техники, связанный с появлением новой технической базы. выросло , увеличились объемыоперативнойи внешней памяти. компьютеры стали более надежными, теперь они могли непрерывно работать настолько долго, чтобы на них можно было возложить выполнение действительно практически важных . но выполнение каждой программы включало в себя большое количество работ (загрузка, запуск, получение результирующей программы в машинных кодах и т. поэтому для организации эффективного совместного использования были введены должности операторов, профессионально выполнявших работу по организации вычислительного процесса для всех пользователей этого центра.
но как бы быстро и надежно ни работали операторы, они никак не могли состязаться в производительности с работой устройств компьютера. а поскольку процессорпредставлял собой весьма дорогое устройство, то низкая эффективность его использования означала низкую эффективность использования компьютера в целом. для решения этой проблемы и были разработаны первые системыпакетной обработки, которые автоматизировали всю последовательность действий оператора по организации вычислительного процесса. ранние системыпакетной обработкиявились прообразом современныхоперационных систем, они стали первыми системными программами, предназначенными не для обработки данных, а для вычислительным процессом.
в ходе реализации систем пакетной обработкибыл разработан формализованный язык , с которого программист сообщал системе и оператору, какие действия и в какой последовательности он хочет выполнить на вычислительной машине.
ранние системы пакетной обработки значительно сократили затраты времени на действия по организации вычислительного процесса, а значит, был сделан еще один шаг по повышению эффективности использования компьютеров. однако при этом программисты-пользователи лишились непосредственного доступа к компьютеру, что снижало эффективность их работы — внесение любого исправления требовало значительно больше времени, чем при интерактивной работе за пультом машины.