fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. typedef long long ll;
  4.  
  5. int main() {
  6. int t;
  7. cin>>t;
  8. while(t--) {
  9. ll n,k;
  10. cin>>n>>k;
  11. if(n%2==0) {
  12.  
  13. if(k==1){
  14. for(int i=0;i<n;i++)
  15. cout<<1<<" ";
  16.  
  17. cout<<endl;
  18. continue;
  19. }
  20. ll p= ceil(float(log2(k+1)));
  21. ll p1= pow(2,p)-1;
  22. ll idx=floor(float(log2(k)));
  23. ll val1=pow(2,idx);
  24. // cout<<p1<<" "<<val1<<" ";
  25. ll val2=p1-val1;
  26. cout<<val2<<' '<<val1<<' ';
  27. for(int i=2;i<n;i++)
  28. cout<<k<<' ';
  29. cout<<endl;
  30. }
  31.  
  32.  
  33. else {
  34.  
  35. if(n==1){
  36. cout<<k<<endl;
  37. continue;
  38.  
  39. }
  40. else if(k<=3){
  41. for(int i=0;i<n;i++)
  42. cout<<k<<" ";
  43.  
  44. cout<<endl;
  45. continue;
  46. }
  47.  
  48.  
  49.  
  50.  
  51.  
  52. else {
  53.  
  54. ll idx=floor(float(log2(k)));
  55. cout<<pow(2,idx)<<' '<<pow(2,idx-1)<<' ';
  56. ll p= ceil(float(log2(k+1)));
  57. ll val= pow(2,p)-1;
  58.  
  59. ll third=val-pow(2,idx)-pow(2,idx-1);
  60. cout<<third<<" ";
  61.  
  62. for(int i=3;i<n;i++)
  63. cout<<k<<' ';
  64. cout<<endl;
  65. }
  66. }
  67. }
  68. return 0;
  69. }
Success #stdin #stdout 0s 4544KB
stdin
9
4 1
5 1
5 2
6 2
5 3
5 8
2 8
5 8
stdout
1 1 1 1 
1 1 1 1 1 
2 2 2 2 2 
1 2 2 2 2 2 
3 3 3 3 3 
8 4 3 8 8 
7 8 
8 4 3 8 8 
8 4 3 8 8