| 比赛 | 
    20111021 | 
    评测结果 | 
    AAWAAW | 
    | 题目名称 | 
    黑盒子 | 
    最终得分 | 
    66 | 
    | 用户昵称 | 
    magic | 
    运行时间 | 
    0.000 s  | 
    | 代码语言 | 
    C++ | 
    内存使用 | 
    0.00 MiB  | 
    | 提交时间 | 
    2011-10-21 19:52:39 | 
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
	const int maxlong=30005;
	int add[maxlong],bb[maxlong];
	int next[maxlong];
	int get[maxlong];
	int m,n,k,total;
void insert(int x);
void insert(int x)
{
	int p;
	total++;
	p=total;
	while (bb[p]<x)
	{		
		bb[p]=bb[p-1];
		p--;
	}
	bb[p+1]=x;
}
void out();
void out()
{
	k++;
	printf("%d\n",bb[total-k+1]);
}
int main()
{
	freopen("blackbox.in","r",stdin);
	freopen("blackbox.out","w",stdout);
	scanf("%d%d",&m,&n);
	for (int i=1;i<=m;i++)
	{
		scanf("%d",&add[i]);
	}
	int ge;
	for (int i=1;i<=n;i++)
	{
		scanf("%d",&ge);
		get[ge]++;
	}
	k=0;
	total=0;
	bb[0]=2000005;
	for (int i=1;i<=m;i++)
	{
		insert(add[i]);
		if (get[i]!=0)
		{
			for (int j=1;j<=get[i];j++)
			{
				out();
			}
		}
	}
	return 0;
}