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

За­да­ние вы­пол­ня­ет­ся с ис­поль­зо­ва­ни­ем при­ла­га­е­мых фай­лов.

В су­пер­мар­ке­те про­во­дит­ся акция «каж­дый тре­тий товар бес­плат­но». По­ку­па­тель, чтобы мак­си­маль­но ис­поль­зо­вать усло­вие акции, раз­де­лил на ленте то­ва­ры груп­па­ми по три то­ва­ра, со­би­ра­ясь за­пла­тить за каж­дую груп­пу от­дель­ным чеком. В каж­дой груп­пе из трех то­ва­ров самый до­ро­гой он по­ме­стил на тре­тье место.

Од­на­ко вы­яс­ни­лось, что про­грам­ма для кас­со­во­го ап­па­ра­та не учи­ты­ва­ет рас­по­ло­же­ние то­ва­ров на ленте и сор­ти­ру­ет цены то­ва­ров в чеке таким об­ра­зом, чтобы сто­и­мость по­куп­ки была мак­си­маль­но воз­мож­ной. Тогда по­ку­па­тель раз­ме­стил то­ва­ры по-⁠дру­го­му.

За­да­ние 26

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

Пер­вая стро­ка вход­но­го файла со­дер­жит число N  — ко­ли­че­ство то­ва­ров, ко­то­рые пла­ни­ру­ет при­об­ре­сти по­ку­па­тель (на­ту­раль­ное число, не пре­вы­ша­ю­щее 10 000).

Каж­дая из по­сле­ду­ю­щих N строк со­дер­жит цены то­ва­ров, ко­то­рые вы­би­рал по­ку­па­тель (все числа на­ту­раль­ные, не пре­вы­ша­ю­щие 10 000, каж­дое в от­дель­ной стро­ке).

Цены то­ва­ров ука­за­ны в про­из­воль­ном по­ряд­ке.

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

В от­ве­те за­пи­ши­те два целых числа: сна­ча­ла ми­ни­маль­ную цену, ко­то­рую пла­ни­ро­вал за­пла­тить по­ку­па­тель из­на­чаль­но, если бы бес­плат­ным был 3-⁠й товар в любой по­куп­ке, со­сто­я­щей из 3 пред­ме­тов. А затем за­пи­ши­те цену, ко­то­рую он за­пла­тил.

По­ку­па­тель делит то­ва­ры на груп­пы наи­бо­лее вы­год­ным для себя спо­со­бом.

Ти­по­вой при­мер вход­ных дан­ных:

4

80

30

50

40

При таких ис­ход­ных дан­ных, если каж­дый тре­тий товар бес­плат­но, пред­по­ла­га­е­мая и дей­стви­тель­ная суммы равны 120 и 160.

 

Ответ:

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

Ре­ше­ние.

Ре­ше­ние через Excel.

1.  Уби­ра­ем общее ко­ли­че­ство то­ва­ров.

2.  Сор­ти­ру­ем весь диа­па­зон по убы­ва­нию.

3.  Не счи­та­ем 3310 (9931 : 3 с округ­ле­ни­ем вниз) самых до­ро­гих то­ва­ров.

4.  Пишем фор­му­лу =СУММ(A3311:A9931) и по­лу­ча­ем ответ на пер­вый во­прос 22262050.

 

При пра­виль­ной ра­бо­те ленты можно каж­дый тре­тий по сто­и­мо­сти товар сде­лать бес­плат­ным. Для этого не­об­хо­ди­мо.

1.  За­пол­ня­ем вто­рой стол­бец чис­ла­ми 1, 2, 3, 1, 2, 3. Можно за­пол­нить пер­вые три стро­ки, а после этого ско­пи­ро­вать их и вста­вить во все остав­ши­е­ся, глав­ное, чтобы их ко­ли­че­ство было крат­но 3, в по­след­нюю до­ба­вить 1. А можно впи­сать фор­му­лу в стиле =ОСТАТ(СТРО­КА();3), тогда будут числа 1, 2, 0, 1, 2, 0.

2.  Вклю­ча­ем фильтр и остав­ля­ем числа 1 и 2 во вто­ром столб­це, смот­рим на ито­го­вую сумму и по­лу­ча­ем ответ на вто­рой во­прос 33246829.

 

Ответ: 22262050  33246829.

 

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

f = open("26_6759.txt")

s = list(map(int,f.readlines()))

s = s[1:]

s.sort(reverse = True)

print(sum(s[len(s)//3:]),sum(s)-sum(s[2::3]))

 

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

tovar = sorted([int(s) for s in open('26_6759.txt')][1:],reverse=True)

print(sum(tovar[len(tovar)//3:]),sum(tovar)-sum(tovar[2::3]))

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