Problem D. Digits

AC代码(暴力然后比较找最小的和)

Select Code

#include <iostream>
#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <queue>
#include <cmath>
//#include <bits/stdc++.h>
#define inf 0x3f3f3f3f
using namespace std;
struct bode
{
    int ci;
    long long int sum;
} a[5000+10];
int main()
{
    freopen("digits.in", "r", stdin);
    freopen("digits.out", "w", stdout);
    int n, i;
    long long b = 0x3f3f3f3f;
    scanf("%d",&n);
    for(i = 1; i<=1000000; i++)
    {
        int k = 0, m = i;
        while(m)
        {
            k+=m%10;
            m/=10;
        }
        a[k].ci++;
        a[k].sum+=i;
        if(a[k].ci==n)
        {
           if(b>a[k].sum)
            b = a[k].sum;
        }
    }
    printf("%lld\n",b);
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_41524782/article/details/81939989