AGC021 A - Digit Sum 2(贪心)

题意:

在这里插入图片描述

解法:

显然答案一定是x9999的形式,从低位开始填数位,优先填大的即可.

code:

#include <bits/stdc++.h>
#define int long long
#define PI pair<int,int>
using namespace std;
const int maxm=2e5+5;

int n;
void solve(){
    
    
    cin>>n;
    int ans=0;
    int last=0;
    int p=1;
    while(1){
    
    
        int ok=0;
        for(int i=9;i>=1;i--){
    
    
            int t=i*p;
            if(t+last<=n){
    
    
                ans+=i;
                last=t+last;
                ok=1;
                break;
            }
        }
        if(!ok)break;
        p*=10;
    }
    cout<<ans<<endl;
}
signed main(){
    
    
    ios::sync_with_stdio(0);
    solve();
    return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_44178736/article/details/114930583