Задания
Версия для печати и копирования в MS Word
Тип 27 № 55823
i

Ме­тео­ро­ло­ги­че­ская стан­ция ведёт на­блю­де­ние за ко­ли­че­ством вы­пав­ших осад­ков. По­ка­за­ния за­пи­сы­ва­ют­ся каж­дую ми­ну­ту в те­че­ние N минут.

Опре­де­ля­ет­ся пара из­ме­ре­ний, между ко­то­ры­ми про­шло не менее K минут. Най­ди­те мак­си­маль­ную сумму по­ка­за­ний среди таких пар.

Файл А

Файл В

Вход­ные дан­ные.

Даны два вход­ных файла (A и B), каж­дый из ко­то­рых в пер­вой стро­ке со­дер­жит число N  — ко­ли­че­ство из­ме­ре­ний, во вто­рой стро­ке K  — ми­ни­маль­ное ко­ли­че­ство минут между ис­ко­мы­ми из­ме­ре­ни­я­ми. В каж­дой из сле­ду­ю­щих N строк на­хо­дит­ся число: ко­ли­че­ство вы­пав­ших осад­ков.

В от­ве­те ука­жи­те два числа: сна­ча­ла зна­че­ние ис­ко­мой ве­ли­чи­ны для файла A, затем  — для файла B.

 

Пре­ду­пре­жде­ние: для об­ра­бот­ки файла B не сле­ду­ет ис­поль­зо­вать пе­ре­бор­ный ал­го­ритм, вы­чис­ля­ю­щий сумму для всех воз­мож­ных ва­ри­ан­тов, по­сколь­ку на­пи­сан­ная по та­ко­му ал­го­рит­му про­грам­ма будет вы­пол­нять­ся слиш­ком долго.

 

Ответ:

Спрятать решение

Ре­ше­ние.

При­ведём ре­ше­ние на языке Python.

f = open('27А.txt')

N = int(f.readline())

K = int(f.readline())

a = [int(x) for x in f]

m=0

maxi=0

for i in range(K,N):#пе­ре­би­ра­ем числа на­чи­ная с К, так как между из­ме­ре­ни­я­ми про­шло менее K минут

m=max(m, a[i-K])#вы­би­ра­ем мак­си­маль­ное из­ме­ре­ние на рас­то­я­нии не менее К

maxi = max(maxi, a[i] + m)#опре­де­ля­ем мак­си­маль­ную сумму из­ме­ре­ний

print(maxi)

 

В ре­зуль­та­те ра­бо­ты дан­но­го ал­го­рит­ма при вводе дан­ных из файла A ответ  — 174902, из файла B  — 3094684.

 

При­ме­ча­ние.

Путь к файлу не­об­хо­ди­мо ука­зать со­глас­но рас­по­ло­же­нию файла на Вашем ком­пью­те­ре.

 

При­ведём ре­ше­ние Юрия Кра­силь­ни­ко­ва на языке Python.

a = [int(s) for s in open('27B.txt')]

k,m,r = a[1],0,0

a = a[2:]

for i in range(k,len(a)):

m = max(m,a[i-k])

r = max(r,m+a[i])

print(r)

Источник: ЕГЭ по ин­фор­ма­ти­ке 06.04.2023. До­сроч­ная волна