比赛 |
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;
}