比赛 聪明的工作员 评测结果 AAAAAAAAAAAA
题目名称 丑数 最终得分 100
用户昵称 Hyoi_0Koto 运行时间 0.116 s
代码语言 C++ 内存使用 1.33 MiB
提交时间 2017-03-21 20:28:51
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<algorithm>
#define maxn 100010
#define maxm 110
#define maxa 200000000086
using namespace std;
int n,k,s[maxm],w[maxn];
long long ans[maxn];
int main()
{
    freopen("humble.in","r",stdin);
    freopen("humble.out","w",stdout);
    scanf("%d%d",&k,&n);
    for (int i=1;i<=k;i++){
        scanf("%d",&s[i]);
        w[i]=1;
    }
    ans[1]=1;
    for (int i=2;i<=n+1;i++){
        ans[i]=maxa;
        for (int j=1;j<=k;j++){
            while(s[j]*ans[w[j]]<=ans[i-1]) w[j]++;
            ans[i]=(s[j]*ans[w[j]]<ans[i])? s[j]*ans[w[j]]:ans[i];
        }
    }
    printf("%lld\n",ans[n+1]);
    return 0;
}