比赛 聪明的工作员 评测结果 AAAAWEEWAWAE
题目名称 丑数 最终得分 50
用户昵称 CSU_Turkey 运行时间 0.319 s
代码语言 C++ 内存使用 0.70 MiB
提交时间 2017-03-21 19:47:34
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<set>
#include<vector>
#include<queue>
using namespace std;
const int MAXN=105;
//set<int>dict;
priority_queue<int,vector<int>,greater<int> >ss;
int K,M,n[MAXN],r=0,tt[100000],ghb=0;
int main()
{
	freopen("humble.in","r",stdin);
	freopen("humble.out","w",stdout);
	scanf("%d%d",&K,&M);
    
	for(int i=1;i<=K;i++)
	{
	scanf("%d",&n[i]);
//	dict.insert(n[i]);r++;
		ss.push(n[i]);
    }
	for(int i=K;;i++)
	{
	//	if(r==M)
	//	{
	//		cout<<ss.top();
	//		break;
	//	}
		tt[i]=ss.top();	ss.pop();
		if(tt[i]==tt[i-1])
		{
			ghb++;
		continue;}
		if(i-ghb-K+1==M){
			cout<<tt[i];
			break;
		}
	
		for(int j=1;j<=K;j++)
		{
			long long hh=tt[i]*n[j];
			//if(!dict.count(hh))
		//	{
		//	dict.insert(hh);
	//	r++;}
			ss.push(hh);
		}
	}
	return 0;
}