На этом форуме отвечают на конкретные вопросы. Фраза «я не понимаю, как решать» — это не вопрос. На вопрос «как решить задачу №X» вас отошлют к материалам сайта kpolyakov.spb.ru. За бессвязный поток слов и неспособность формулировать свои мысли — бан.

Если у вас не сходится ответ на какую-то задачу, пожалуйста сразу представляйте свое «правильное» решение.
Программы "заворачивайте" в тэг [pre2]...[/pre2], при этом сохраняются все отступы и применяется моноширинный шрифт. Если у вас используется сочетание "[i]" для обозначения элемента массива или строки, ставьте пробел после открывающей скобки. Иначе система выделит все дальнейшее курсивом.

Для регистрации на форуме щелкните по ссылке «Вход-регистрация» вверху страницы. В открывшееся окошко «ник» введите свою фамилию на русском языке (например, Иванов). В окошко «пароль» введите придуманный вами пароль, состоящий из латинских букв и цифр. Поставьте галочку в окошке «зарегистрироваться, я новый участник» и нажмите кнопку «ОК».

АвторСообщение





Сообщение: 4
ссылка на сообщение  Отправлено: 08.11.20 17:37. Заголовок: Возможно опечатка или ошибка в задаче КИМ 26


Здраствуйте!



Мой алгоритм выдает 1355 и 225. (Почему написано 1377 255?)
На больших данных:
464810 602
В тесте на сайте http://kpolyakov.spb.ru/school/ege/gen.php?action=viewAllEgeNo&egeId=26&cat160=on:
464632 602
То-ли продавец хитрее, то-ли где-то ошибка :-)

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 7 [только новые]


Администратор




Сообщение: 2119
ссылка на сообщение  Отправлено: 08.11.20 18:31. Заголовок: SergeyK пишет: То-ли..


SergeyK пишет:
 цитата:
То-ли продавец хитрее, то-ли где-то ошибка

Показывайте решение. Будем разбираться.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 5
ссылка на сообщение  Отправлено: 08.11.20 19:59. Заголовок: ''' W..


 
'''
− на каждый второй товар ценой больше 200 рублей предоставляется скидка 30%;
− общая цена покупки со скидкой округляется вверх до целого числа рублей;
− порядок товаров в списке определяет магазин и делает это так, чтобы общая сумма скидки была наименьшей.
Вам необходимо определить общую цену закупки с учётом скидки и цену самого дорогого товара, на который будет предоставлена скидка.
Входные данные. Первая строка входного файла 26-s1.txt содержит число N – общее количество купленных товаров. Каждая из следующих N строк содержит одно целое число – цену товара в рублях. В ответе запишите два целых числа: сначала общую цену покупки с учётом скидки, затем цену самого дорогого товара, на который предоставлена скидка.
Пример входного файла
7
225
160
380
95
192
310
60
В данном случае товары с ценой 60, 95, 160 и 192 не участвуют в определении скидки, остальные товары магазину выгодно расположить в таком порядке цен: 380, 225, 310. Скидка предоставляется на товар ценой 225. Его цена со скидкой составит 157,5 руб., после округления – 158 руб. Общая цена покупки составит: 60 + 95 + 160 + 192 + 158 + 380 + 310 = 1355 руб. Самый дорогой товар, на который будет получена скидка, стоит 225 руб. В ответе нужно записать числа 1377 и 225.
'''
import sys
import math
#save_stdin = sys.stdin
#sys.stdin = open("24_2.txt")

k = 0.3 # 30%
s = 0
mx = 0
i = 1
minPr = [] # p < 200
maxPr = [] # p >= 200
ans = [] # для отладки
n = int(input())
for i in range(n):
p = int(input())
if p > 200:
maxPr.append(p)
else:
minPr.append(p)
s = sum(minPr) # всё что меньше или равно 200 суммируем сразу
ans += minPr # складываем в [] для визуализации результата
maxPr.sort() # всё, что больше 200 сортируем
maxPr_len = len(maxPr)
mid = maxPr_len // 2 # вычисляем середину
half_maxPr1 = maxPr[mid :] # дорогие товары
half_maxPr2 = maxPr[:mid] # дешёвые товары

s += sum(maxPr[mid :]) # дорогие сразу суммируем (скидки не делаем)
ans += maxPr[mid :] # складываем в [] для визуализации результата
# на дешёвые, которые > 200 делаем скидки
for p0 in maxPr[:mid]:
p = math.ceil((1 - k) * p0)
#print("p% = ", p)
if p0 > mx:
mx = p0
s += p # товар со скидкой добавляем к общей сумме
ans.append(p)
ans.sort() # складываем в [] для визуализации результата
print(s, mx) # общая сумма и максимальный товар, на который была скидка
print(*ans) # все товары
print(sum(ans))
print(len(ans))

#sys.stdin =save_stdin

#=======================
>>> %Run 24_2.py
7
225
160
380
95
192
310
60
1355 225
60 95 158 160 192 310 380
1355
7
>>>

Скидка предоставляется на товар ценой 225. Его цена со скидкой составит 157,5 руб., после округления – 158 руб. Общая цена покупки составит: 60 + 95 + 160 + 192 + 158 + 380 + 310 = 1355 руб. Самый дорогой товар, на который будет получена скидка, стоит 225 руб.

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 6
ссылка на сообщение  Отправлено: 08.11.20 20:01. Заголовок: Так не пойдёт. Я пок..


Так не пойдёт. Я пока не разобрался с этим форумом, как вставлять код, что бы отступы не исчезали... Сейчас ссылку на нормальный код передам.

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Сообщение: 2120
ссылка на сообщение  Отправлено: 08.11.20 20:08. Заголовок: SergeyK пишет: как в..


SergeyK пишет:
 цитата:
как вставлять код,

Вставить в блок pre2:\[pre2\] ... код [\/pre2] . Здесь все знаки \ нужно убрать.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 7
ссылка на сообщение  Отправлено: 08.11.20 20:06. Заголовок: https://repl.it/@int..


[url=https://repl.it/@intepra/kEGE24-2#main.py]Ссылка на задачу[/url]

Видимо @ не даёт форуму корректно обработать ссылку
Тогда так:
https://clck.ru/RpXdE

Если снять комментарии:
#save_stdin = sys.stdin
#sys.stdin = open("24_2.txt")


#sys.stdin =save_stdin

Будут обработаны большие данные

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Сообщение: 2121
ссылка на сообщение  Отправлено: 08.11.20 21:08. Заголовок: SergeyK пишет: Ссылк..


SergeyK пишет:
 цитата:
[url=https://repl.it/@intepra/kEGE24-2#main.py]Ссылка на задачу[/url]

Вы округляете вверх стоимость каждой покупки со скидкой, а нужно округлять общую сумму.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 8
ссылка на сообщение  Отправлено: 08.11.20 21:34. Заголовок: Ox, спасибо большое!..


Ox, спасибо большое!
Как все просто оказалось, как можно быть таким невнимательным:
"− общая цена покупки со скидкой округляется вверх...."

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 945
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет