求救,样例过了,提交全部RE
查看原帖
求救,样例过了,提交全部RE
806317
anquandan楼主2023/12/28 13:27
#include <iostream>
using namespace std;
long long a[50010],f[50010],s,d,g;
int main()
{
	cin >> s;
	for(int i = 1;i <= s;i++)
	{
		cin >> a[i];
		f[i] = 1;
	}
	long long maxn = -1;
	for(int i = s;i >= 1;i--)
	{
		for(int j = i+1;j <= s;j++)
		{
			if(a[j] > a[i])
			{
				f[i]++;
			}
		}
		maxn = max(f[i],maxn);
	}
	cin >> d;
	for(int i = 1;i <= d;i++)
	{
		cin >> g;
		if(g > maxn)
		{
			cout << "Impossible" << endl;
		}
		else
		{
			int q = 0;
			for(int j = 1;j <= s;j++)
			{
				if(f[j] >= g)
				{
					cout << a[j] << " ";
					q = j;
					g--;
					break;
				}
			}
			for(int j = q+1;g > 0;j++)
			{
				if(f[j] == g)
				{
					cout << a[j] << " ";
					g--;
				}
			}
			cout << endl;
		}
	}
	return 0;
}
2023/12/28 13:27
加载中...