Автор | Сообщение |
|
Отправлено: 27.03.21 09:57. Заголовок: Неверный ответ в задаче 2650
Мой ответ:464636 602. Ответ в задаче:464632 602. Хотелось бы найти ошибку Условие:Магазин предоставляет оптовому покупателю скидку по следующим правилам: − на каждый второй товар ценой больше 200 рублей предоставляется скидка 30%; − общая цена покупки со скидкой округляется вверх до целого числа рублей; − порядок товаров в списке определяет магазин и делает это так, чтобы общая сумма скидки была наименьшей. Вам необходимо определить общую цену закупки с учётом скидки и цену самого дорогого товара, на который будет предоставлена скидка. Моё решение: curr = 0 candidates = [ ] skidki = [ ] f= open( 'C:/Users/SAW/Desktop/26-s1.txt' ) tov = [ int( b ) for b in f ] f.close() dortov = [ int( x ) for x in tov if x > 200 ] dortov.sort(reverse = True) deshtov = [ int( z ) for z in tov if z <= 200 ] k=1 for i in range( len(dortov) ): flag = False if k % 2 == 0: minn = dortov[ i ] for j in range( len(dortov) ): if dortov[ j ] < minn and dortov [ j ] not in skidki: minn = dortov[ j ] curr = j candidates += [ int(minn) ] skidki += [ round(minn * 0.7) ] dortov[ curr ]=dortov[ i ] dortov[ i ]=round(minn * 0.7) k += 1 print( sum(dortov) + sum(deshtov) , max(candidates) )
|
|
|
Новых ответов нет
[см. все]
|
|
|
Отправлено: 27.03.21 10:10. Заголовок: Пометка
Я удалил в блокноте первое число, дабы не работать с N; переменная flag в моём решении лишняя, она ни на что не влияет
|
|
|
|
| Администратор
|
Сообщение: 2629
|
|
Отправлено: 27.03.21 14:16. Заголовок: Это задача 33 из осн..
Это задача 33 из основного сборника. На сайте есть решения всех 26-х задач, вы можете посмотреть там авторское решение.
|
|
|
|