求助大佬,样例过了,但听取wa声一片
查看原帖
求助大佬,样例过了,但听取wa声一片
637326
YUKIKAZEsamananoda楼主2023/5/20 21:59
#include<bits/stdc++.h>
using namespace std;
int n,m,f[10001][3],a[10001],b[1001];
void Elyxia(int x,int y)
{
	cout<<a[x]<<" ";
	if(y>1)
		Elyxia(f[x][2],y-1);
}
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
		cin>>a[i];
	cin>>m;
	for(int j=1;j<=m;j++)
		cin>>b[j];
		
	f[n][1]=1;
	for(int i=n-1;i>=1;i--)
	{
		int k=0,h;
		for(int j=n;j>=i+1;j--)
		{
			if(a[j]>a[i])
				if(k<=f[j][1])
				{
					k=f[j][1];
					h=j;
				}
		}
		f[i][2]=h;
		f[i][1]=k+1;
	}
	
	for(int i=1;i<=m;i++)
	{
		int t;
		bool h=0;
		for(int j=1;j<=n;j++)
		{
			if(f[j][1]>=b[i])
			{
				t=j;
				h=1;
				break;
			}
		}
		if(!h)
		{
			cout<<"Impossible"<<endl;
			continue;
		}
		Elyxia(t,b[i]);
		cout<<endl;
	}
	return 0;
}
2023/5/20 21:59
加载中...