Форум » Массивы, сортировка, работа с файлами » Неверный ответ в задаче 2650 » Ответить

Неверный ответ в задаче 2650

Александр А.А.: Мой ответ:464636 602. Ответ в задаче:464632 602. Хотелось бы найти ошибку Условие:Магазин предоставляет оптовому покупателю скидку по следующим правилам: − на каждый второй товар ценой больше 200 рублей предоставляется скидка 30%; − общая цена покупки со скидкой округляется вверх до целого числа рублей; − порядок товаров в списке определяет магазин и делает это так, чтобы общая сумма скидки была наименьшей. Вам необходимо определить общую цену закупки с учётом скидки и цену самого дорогого товара, на который будет предоставлена скидка. Моё решение: [pre2] 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) ) [/pre2]

Ответов - 2

Александр А.А.: Я удалил в блокноте первое число, дабы не работать с N; переменная flag в моём решении лишняя, она ни на что не влияет

Поляков: Это задача 33 из основного сборника. На сайте есть решения всех 26-х задач, вы можете посмотреть там авторское решение.



полная версия страницы