蒟蒻代码求调(40pts
查看原帖
蒟蒻代码求调(40pts
716579
LYZHZ楼主2023/2/1 21:14
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int t;
ll n,a,b;
ll aa[101010],ab[101010],la,lb;
ll ans[201010],al=0,sa,sb;
int main()
{
    cin>>t;
    while(t--)
	{
		scanf("%lld%lld%lld",&n,&a,&b);
		la=0,lb=0;
		ll A=a,B=b;
		al=0,sa=0,sb=0;
		for(ll i=n;i>=1;i--)
		{
			if(A>=B)
			{
				A-=i;
				aa[++la]=i;
			}
			else
			{
				B-=i;
				ab[++lb]=i;
			}
		}
		for(ll i=1;i<=la;i++)
			ans[++al]=aa[i];
		for(ll i=lb;i>=1;i--)
			ans[++al]=ab[i];
		for(ll i=1;i<=al/2;i++)
			sa+=ans[i];
		for(ll i=al;i>=al/2+1;i--)
			sb+=ans[i];
		if(a>sa||b>sb||n!=al)
			cout<<-1<<endl;
		else
		{
			for(ll i=1;i<=al;i++)
			{
				printf("%d ",ans[i]);
			}
			cout<<endl;
		}
	}
    return 0;
}
2023/2/1 21:14
加载中...