【codevs1246】丑数

problem

solution

codes

#include<cstdio> 
int p[101], a[101], k, n;
long long ans[100001], MIN;
int main(){
    ans[0]=1;
    scanf("%d%d",&k,&n);
    for (int i=1;i<=k;i++) scanf("%d",&p[i]);
    for (int i=1;i<=n;i++){
        MIN=0x7FFFFFFF;
        for (int j=1;j<=k;j++){
            while (p[j]*ans[a[j]] <= ans[i-1]) a[j]++;
            if (MIN > p[j]*ans[a[j]]) MIN=p[j]*ans[a[j]];
        }
        ans[i] = MIN;
    }
    printf("%lld",ans[n]);
    return 0;
}
posted @ 2018-06-03 10:41  gwj1139177410  阅读(79)  评论(0编辑  收藏  举报
选择