比赛 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;

}