30分!!!悬关,求调
查看原帖
30分!!!悬关,求调
1137536
GoldenState_Warriors楼主2024/10/4 18:16
#include<bits/stdc++.h>
using namespace std;
struct L
{
	int d,nm;
}a[1111],b[1111];
bool c1(L x,L y){return x.nm>y.nm;}
bool c2(L x,L y){return x.nm<y.nm;}
int main()
{
	int t;
	cin>>t;
	while(t--)
	{
		int n;
		cin>>n;
		for(int i=1;i<=n;i++)
		{
			cin>>a[i].nm;
			a[i].d=i;
		}
		for(int i=1;i<=n;i++)
		{
			cin>>b[i].nm;
			b[i].d=i;
		}
		sort(a+1,a+n+1,c1);
		sort(b+1,b+n+1,c2);
		bool f=1;
		int lg=0;
		for(int i=1;i<=n;i++)
		{
			if((a[i].nm+lg)<b[i].nm)
			{
				cout<<"No"<<endl;
				f=0;
			}
			lg+=a[i].nm-b[i].nm;
		}
		if(f)
		{
			cout<<"Yes"<<endl;
			for(int i=1;i<=n;i++) cout<<a[i].d<<' ';
			cout<<endl;
			for(int i=1;i<=n;i++) cout<<b[i].d<<' ';
			cout<<endl;
		}
	}
	return 0;
}
2024/10/4 18:16
加载中...