| 比赛 | 201712练习 | 评测结果 | AAAAAAAAAAAA | 
    | 题目名称 | 丑数 | 最终得分 | 100 | 
    | 用户昵称 | @@@ | 运行时间 | 0.060 s | 
    | 代码语言 | C++ | 内存使用 | 4.14 MiB | 
    | 提交时间 | 2017-12-27 20:47:26 | 
显示代码纯文本
#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;
int n,k;
int a[1005],o[1005];
int b[1000005];
int main()
{
	freopen("humble.in","r",stdin);
	freopen("humble.out","w",stdout);
	scanf("%d%d",&k,&n);
	int start = 999999;
	for(int i = 1; i <= k; ++i)
	{
		scanf("%d",a+i);
		start = min(start,a[i]);
	}
	sort(a+1,a+1+k);
	b[0] = 1;
	for(int i = 1;i <= n;i++)
	{
		int jb = 2000000000;
		for(int j = 1;j <= k;j++)
		{
			while(b[o[j]]*a[j] <= b[i-1])
				o[j]++;
			jb = min(jb,b[o[j]]*a[j]);
		}
		b[i] = jb;
	}
	cout << b[n];
	return 0;
}