RE on #6
查看原帖
RE on #6
753068
EchoHua0402楼主2023/12/31 21:53

感觉好像没什么问题,但是RE了,怎么回事阿

(求调

#include <bits/stdc++.h>
using namespace std;
const int N=1e6+5;
int a[N],t[N];
int n,m;
void work()
{
	int mex=0;
	for (int i=0;i<=n;i++) t[i]=0;
	for (int i=1;i<=n;i++)
	{
		if (a[i]<=n) t[a[i]]++;
	}
	for (int i=0;i<=n;i++)
	{
		if (t[i]==0)
		{
			mex=i;
			break;
		}
	}
	for (int i=1;i<=n;i++)
	{
		if (t[a[i]]>1||a[i]>mex) a[i]=mex;
	}
}
void solve()
{
	work();
	if (m!=1)
	{
		work();
		if (m%2==1) work();
	}
}
int main()
{
	ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	int t;
	cin>>t;
	while (t--)
	{
		cin>>n>>m;
		for (int i=1;i<=n;i++) cin>>a[i];
		solve();
		for (int i=1;i<=n;i++) cout<<a[i]<<" ";
		cout<<endl;
	}
	return 0;
}

2023/12/31 21:53
加载中...