1 条题解

  • 0
    @ 2025-10-8 16:55:05
    #include <bits/stdc++.h>
    using namespace std;
    typedef long long LL;
    LL s[110], a[1110000];
    int p[110];
    int main()
    {
        int n, k; scanf("%d%d", &n, &k);
        for(int i=1; i<=n; i++) scanf("%lld", &s[i]);
        memset(p, 0, sizeof(p));
        a[0] = 1;
        for(int i=1; i<=k; i++)
        {
            LL minx = (LL)1 << 32;
            for(int j=1; j<=n; j++)
            {
                if(minx > s[j] * a[p[j]]) minx = s[j] * a[p[j]];
            }
            a[i] = minx;
            for(int j=1; j<=n; j++)
            {
                while(a[i] >= s[j] * a[p[j]]) p[j]++;
            }
        }
        printf("%lld\n", a[k]);
        return 0;
    }
    
    • 1

    *【贪心】[USACO3.1] 丑数 Humble Numbers

    信息

    ID
    1022
    时间
    1000ms
    内存
    128MiB
    难度
    3
    标签
    递交数
    51
    已通过
    28
    上传者