Решение задачи Покупка еды с Codeforces

Без пояснения   Просмотров: 53


Мишка хочет купить немного еды в магазине неподалеку. Изначально у него есть s бурлей на карте.

Мишка может применить следующую операцию некоторое (возможно, нулевое) количество раз: выбрать некоторое целое положительное число 1≤x≤s,купить еду стоимостью ровно x бурлей и получить ⌊x10⌋ бурлей в качестве кэшбека (другими словами, Мишка потратит x бурлей и получит ⌊x10⌋ обратно). Выражение ⌊ab⌋ означает, что число a поделено на b с округлением вниз.

Гарантируется, что вы всегда можете купить еду, которая стоит x для любого возможного значения x.

Ваша задача — назвать максимальное количество бурлей, которое Мишка может потратить, если будет совершать покупки оптимально.

Например, если у Мишки есть s=19 бурлей, то максимальное количество бурлей, которое он может потратить, равно 21. Сначала он может потратить x=10 бурлей, получить 1 бурль в качестве кэшбека. Теперь у него есть s=10 бурлей, таким образом, он может потратить x=10 бурлей, получить 1 бурль в качестве кэшбека и потратить его тоже.

Вам нужно ответить на t независимых наборов входных данных.

Код

#include <bits/stdc++.h>

using namespace std;

int main()
{
    long long  t, n;
    cin >> t;
    for(int i = 0 ; i < t; ++i){
        cin >> n;
        long long sum = 0,  s = 0;

        while(n >= 10){
            sum = n/10;
            n = n % 10 + sum;
            sum*=10;
            s += sum;
        }
        s += n;
        cout<< s << endl;
    }
    return 0;
}

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться