比赛 2025.9.6 评测结果 AWWWWWWWWWWWWWWWWW
题目名称 Sequence Construction 最终得分 6
用户昵称 汐汐很希希 运行时间 0.509 s
代码语言 C++ 内存使用 3.69 MiB
提交时间 2025-09-06 09:26:01
显示代码纯文本
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=110;
int T,ans[N];
int main()
{
    freopen("Sequence.in","r",stdin);
    freopen("Sequence.out","w",stdout);
    
    cin>>T;
    while(T)
    {
        T--;
        int m,k;
        bool flag=false;
        cin>>m>>k;
        memset(ans,0,sizeof(ans));
        int v=0,a=0;
        for(int i=5;i>=1;i--){
			int p=(1<<i);
			if (k>=p){
				k-=p;
				ans[++a]=(1<<p)-1;
				v+=(1<<p)-1;
			}
		}
		if(k){
		    flag=true;
		    ans[++a]=1;
		    v++;
        }
		v=m-v;
		if(v<0){
		    cout<<-1<<endl;
		    continue;
        }else if(v==1){
            if(flag) ans[a]=2;
            else{
                cout<<-1<<endl;
                continue;
            }
        }else{
            if(v%2==1){
                if(flag) ans[a]=2;
                else ans[++a]=1;
			}
            ans[++a]=v/2;
            ans[++a]=v/2;
        }
        cout<<a<<endl;
        for(int i=1;i<=a;i++) cout<<ans[i]<<' ';
        cout<<endl;
    }
    return 0;
}