Решение задачи "Число на доске" с Codeforces

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


На доске было написано некоторое натуральное число, сумма цифр которого была не меньше k. Но вы немного отвлеклись, и кто-то изменил это число на n, заменив некоторые цифры другими. Известно, что длина числа не изменилась.

Вам необходимо определить минимальное количество цифр, в котором могут отличаться эти два числа.

Код

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
    ll k,sum = 0;
    string s;
    cin>>k;
    cin>>s;
    for(char c:s)
    {
        sum += c-'0';
    }

    int ans = 0;
    sort(s.begin(),s.end());
    for(char c:s)
    {
        if(sum>=k) break;
        sum+='9'-c;
        ans++;
    }
    cout<<ans<<endl;
}

         

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


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

Комментарии

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