» В магазине проводится рекламная акция. Вероятность того, что покупатель примет участие в этой акции, равна 0,3. Во время проведения Решение №38827, в магазине проводится акция.
В магазине проводится рекламная акция. Вероятность того, что покупатель примет участие в этой акции, равна 0,3. Во время проведения Решение №38827, в магазине проводится акция.
Акция в супермаркете
В супермаркете проводится беспрецедентная акция – «Покупая два любых товара, третий получаешь бесплатно*», а внизу мелким шрифтом приписано «* - из трех выбранных вами товаров оплачиваются два наиболее дорогих».
Вася, идя в супермаркет, определился, какие товары он хочет купить, и узнал, сколько они стоят. Помогите ему определить минимальную сумму денег, которую ему нужно взять с собой, чтобы в итоге стать счастливым обладателем этих товаров. Входные данные
Во входном файле задано сначала число N (1≤N≤1000), а затем N чисел – стоимости выбранных Васей товаров. Все стоимости – натуральные числа, не превышающие 10000. Выходные данные
В выходной файл выведите одно число – сумму денег, которую Вася должен взять с собой в супермаркет (минимально возможную).
Комментарии к примерам тестов
1. Вася сначала пройдет через кассу с товарами стоимостью 1, 3 и 4 – заплатит 7 рублей и товар стоимостью 1 получит в подарок, а затем снова зайдет в супермаркет и купит товары стоимостью 5 и 7, еще один товар стоимостью 5 получив в подарок.
2. Вася в первый заход в супермаркет купит товары стоимостью 15 и 25 рублей, в качестве подарка взяв товар стоимостью 8 рублей. А во второй заход в супермаркет купит товары стоимостью 3 и 8, не взяв никакого подарка.
Вод код на С++, можно перевести
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
#include using namespace std ; int main ( ) { int n, arr [ 1000 ] , i, j, a ; cin >> n ; for ( i = 0 ; i n ; i ++ ) cin >> arr [ i ] ; for ( i = 0 ; i n ; i ++ ) { for ( j = 0 ; j n - 1 ; j ++ ) { if ( arr [ j ] arr [ j + 1 ] ) { a = arr [ j ] ; arr [ j ] = arr [ j + 1 ] ; arr [ j + 1 ] = a ; } } } for ( i = a = 0 ; i n ; i ++ ) { if ( ( i + 1 ) % 3 ) { a + = arr [ i ] ; } } cout ; return 0 ; }
Комментарии