This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
# include <bits/stdc++.h>
#define f first
#define s second
#define pb push_back
using namespace std;
int t,raod,rem,cnt,xx,bb,x,y,k,ans,idx,mn,ww,anss1;
void go(int x, int y, int raod) {
     if (x==0 && y==0) {
          anss1=raod;
     }
     if (x==y && x!=0) anss1=-1;
     if (x>y) {
          bb=y+1;
          rem=x%bb;
          cnt=(x-rem)/bb;
          go(rem,y,raod+cnt);
     }
     if (x<y) {
          bb=x+1;
          rem=y%bb;
          cnt=(y-rem)/bb;
          go(x,rem,raod+cnt);
     }
}
void go1(int x, int y) {
     if (x==0 && y==0) return;
     if (x==y) return ;
     if (x>y) {
          cout<<0<<" ";
          go1(x-y-1, y);
     }
     else
     if (x<y) {
          cout<<1<<" ";
          go1(x,y-x-1);
     }
}
int main() {
     std::ios_base::sync_with_stdio(false),cin.tie(0),cout.tie(0);
     cin>>t;
     while (t--) {
          cin>>k;
          mn=1e9;ans=0;
          for (int x=0; x<=k/2; x++) {
               go(x,k-x,0);
               if (anss1!=-1) {
                    ans+=2;
                    if (mn>anss1) {
                         mn=anss1;
                         idx=x;
                    }
               }
          }
          cout<<ans<<endl;
          go1(idx,k-idx);
          cout<<endl;
     }
}
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |