文件详细信息
本文件的大小为 1253 字节。
#include<cstdio>
int read(){
int ch=getchar(),num=0;
while(ch<48||ch>57)ch=getchar();
while(ch>=48&&ch<=57)num=(num<<3)+(num<<1)+(ch^48),ch=getchar();
return num;
}
int t,n,nn,k,k2,minus,_2s,_2t,_46s,_46t,_98s,_98t,_114s,_114t;
inline void print_2(int i){
putchar('2');
if(i!=n)putchar(' ');
else putchar('\n');
}
inline void print_46(int i){
putchar('4');
putchar('6');
if(i!=n)putchar(' ');
else putchar('\n');
}
inline void print_98(int i){
putchar('9');
putchar('8');
if(i!=n)putchar(' ');
else putchar('\n');
}
inline void print_114(int i){
putchar('1');
putchar('1');
putchar('4');
if(i!=n)putchar(' ');
else putchar('\n');
}
int main(){
t=read();
register int i;
while(t--){
n=read(),k=read();
nn=(n*(n-1))>>1,k2=nn-k;
if(k2<0){
puts("No");
}else{
_2s=_46s=_98s=1;
_2t=_46t=_98t=-1;
_114s=n+1;
_114t=n;
puts("Yes");
minus=n-1;
while(minus>0&&k2>=minus){
_114s--;
k2-=minus;
minus--;
}
if(k2>0){
_98s=k2+2;
_98t=_114s-1;
_46s=_46t=_98s-1;
_2t=_46s-1;
}else{
_2t=_114s-1;
}
for(i=_2s;i<=_2t;i++)print_2(i);
for(i=_46s;i<=_46t;i++)print_46(i);
for(i=_98s;i<=_98t;i++)print_98(i);
for(i=_114s;i<=_114t;i++)print_114(i);
}
}
return 0;
}