Advertisement
rafid_shad

cf

Mar 26th, 2020
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 7.04 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. //*****************Data type**********************//
  5. typedef long long ll;
  6. typedef long long int lli;
  7. typedef unsigned long long  ull;
  8. typedef unsigned long long int ulli;
  9.  
  10. //******************Deque***********************//
  11. typedef deque<int> DI;
  12. typedef deque<char>DC;
  13.  
  14. //****************SET**************************//
  15. typedef set<int> SI;
  16. typedef set<string> SS;
  17. typedef set<char>SC;
  18. typedef multiset<int>MSI;
  19.  
  20. //*****************Map****************************//
  21. typedef map<int, int> mp;
  22. typedef map<int, string> mps;
  23. typedef map<int, char>mpc;
  24. typedef map<string, int>mpsi;
  25. typedef map<char, int>mpci;
  26.  
  27. //****************Pair****************************//
  28. typedef pair<int, int> pii;
  29. typedef pair<string, string> pss;
  30. typedef pair<char, char> pcc;
  31. typedef pair<int, string> pis;
  32. typedef pair<int, char> pic;
  33.  
  34. //*****************Vector************************//
  35. typedef vector<int> VI;
  36. typedef vector<string> VS;
  37. typedef vector<double> VD;
  38. typedef vector<lli> VLLI;
  39. typedef vector<VI> VVI;
  40. typedef vector<pii> VPI;
  41.  
  42. //**************Constant*************************//
  43. #define MAX                 10000007
  44. #define MOD                 1000000007
  45. #define py                  acos(-1.0)  // 3.1415926535897932
  46.  
  47. //-------------------------------------------------------------------------------//
  48. #define pp1(A)              printf("%d\n",A)
  49. #define ppl(A)              printf("%lld\n",A)
  50. #define pp2(A,B)            printf("%d %d\n",A,B)
  51. #define pp3(A,B,C)          printf("%d %d %d\n",A,B,C)
  52.  
  53. #define ss1(A)              scanf("%d", &A)
  54. #define ssl(A)              scanf("%lld", &A)
  55. #define ss2(A,B)            scanf("%d %d",&A,&B)
  56. #define ss3(A,B,C)          scanf("%d %d %d",&A,&B,&C)
  57.  
  58. //--------------------------------------------------------------------------------//
  59. #define fastIO              ios::sync_with_stdio(false), cin.tie(0)
  60. #define pf                  push_front
  61. #define pb                  push_back
  62. #define popb                pop_back()
  63. #define popf                pop_front()
  64. #define itr                 iterator
  65. #define ritr                reverse_iterator
  66. #define mk                  make_pair
  67. #define ff                  first
  68. #define ss                  second
  69. #define END                 return 0
  70. #define line                printf("\n")
  71. #define yes                 printf("YES\n")
  72. #define no                  printf("NO\n")
  73. #define enter1              printf("Entered 1\n")
  74. #define enter2              printf("Entered 2\n")
  75. #define enter3              printf("Entered 3\n")
  76. #define Case(k,n)           printf("Case %d: %d\n",k,n)
  77. #define Casell(k,n)         printf("Case %lld: %lld\n",k,n)
  78. #define sq(a)               (a)*(a)
  79. #define SZ(a)               (int)a.size()
  80. #define all(a)              (a).begin(), (a).end()
  81. #define mem(a,v)            memset(a,v,sizeof(a))
  82. #define unq(v)              v.erase(unique(all(v)), v.end())
  83. #define rev(v)              reverse(all(v))
  84. #define sortV(v)            sort(all(v))
  85. #define sortA(a,n)          sort(a,a+n)
  86. #define to_upper(s)         transform(s.begin(), s.end(), s.begin(), ::toupper)
  87. #define to_lower(s)         transform(s.begin(), s.end(), s.begin(), ::tolower)
  88.  
  89. #define Erase(V,I)          (V).erase((V).begin()+I)
  90. #define Insert(V,I,M)       (V).insert((V).begin()+I,M)
  91. #define max3(a,b,c)         max(max(a,b),c)
  92. #define max4(a,b,c,d)       max(max3(a,b,c),d)
  93. #define min3(a,b,c)         min(min(a,b),c)
  94. #define min4(a,b,c,d)       min(min3(a,b,c),d)
  95. #define read()              freopen("input.txt", "r", stdin)
  96. #define write()             freopen("output.txt", "w", stdout)
  97.  
  98. //********************************************************************************//
  99. #define loop(i,n)           for(int i=0;i<n;i++)
  100. #define loops(i,x,n)        for(int i=x;i<n;i++)
  101. #define loopr(i,n)          for(int i=n-1;i>=0;i--)
  102. #define loopt(i,n)          for(int i=1;i<=n;i++)
  103. #define autoo(s)            for(auto it=s.begin();it!=s.end();it++)
  104. #define vin(V, N)           for(int i=0; i<N; i++){ int X; ss1(X); V.pb(X); }
  105. #define vinll(V, N)         for(int i=0; i<N; i++){ lli X; ssl(X); V.pb(X); }
  106. #define scanA(A, N)         for(int i=0; i<N; i++){ ss1(A[i]); }
  107. #define scanAll(A, N)       for(int i=0; i<N; i++){ ssl(A[i]); }
  108. #define printA(A, N)        for(int i=0; i<N; i++){ cout<<A[i]; if (i<N-1)cout<<" ";else cout<<endl; }
  109. #define vout(v)             for(int i = 0; i < v.size(); i++) {cout << v[i]; if(i < v.size() - 1) cout <<" "; else cout << endl;}
  110.  
  111. /*-----------------------GCD && LCM------------------*/
  112. lli gcd(lli a, lli b)
  113. {
  114.     return b == 0 ? a : gcd(b, a % b);
  115. }
  116. lli lcm(lli a, lli b)
  117. {
  118.     return a * (b / gcd(a, b));
  119. }
  120.  
  121. /*----------------------Graph Moves----------------*/
  122. int ROW[]= {+1,-1,+0,+0};
  123. int COL[]= {+0,+0,+1,-1};
  124.  
  125. /*----------------------Kings Move-----------------*/
  126. int X[]= {+0,+0,+1,-1,-1,+1,-1,+1};
  127. int Y[]= {-1,+1,+0,+0,+1,+1,-1,-1};
  128.  
  129. /*----------------------Knights Move----------------*/
  130. int KX[]= {-2, -2, -1, -1,  1,  1,  2,  2};
  131. int KY[]= {-1,  1, -2,  2, -2,  2, -1,  1};
  132.  
  133. //---------------------------------*START*-----------------------------------------//
  134. lli n,k;
  135. lli binary(lli x,lli y)
  136. {
  137.     lli md=(x+y)/2;
  138.     lli s=(md*(md+1))/2;
  139.     s+=md;
  140.     s++;
  141.     //cout<<"s "<<s<<" md "<<md<<endl;
  142.     if(s==k)
  143.         return md;
  144.  
  145.     else if(s<k)
  146.     {
  147.         //cout<<"Up "<<md<<" "<<y<<endl;
  148.         binary(md+1,y);
  149.     }
  150.     else if(s>k)
  151.     {
  152.         //cout<<"down "<<x<<" "<<md<<endl;
  153.         if(s-k<=md)
  154.             return md;
  155.  
  156.         binary(x,md-1);
  157.     }
  158. }
  159.  
  160. int main()
  161. {
  162.     int t;
  163.     cin>>t;
  164.     while(t--)
  165.     {
  166.  
  167.         cin>>n>>k;
  168.         lli ans=binary(0,n-2);
  169.         string s;
  170.         loop(i,n)
  171.         {
  172.  
  173.             s+='a';
  174.         }
  175.         //cout<<s<<endl;
  176.         //cout<<ans<<endl;
  177.         s[(n-2)-ans]='b';
  178.  
  179.  
  180.         lli y=(ans*(ans+1))/2;
  181.         y+=ans;
  182.         y++;
  183.  
  184.         //cout<<"y "<<y<<endl;
  185.         lli z=y-k;
  186.         lli zz=(n-2)-ans;
  187.         zz++;
  188.         zz+=z;
  189.         s[zz]='b';
  190.  
  191.         cout<<s<<endl;
  192.         /*
  193.             int y=(ans*(ans+1))/2;
  194.             y+=ans;
  195.             y++;
  196.             int x=(n-(ans+2));
  197.             //cout<<"x "<<x<<endl;
  198.             int f=0;
  199.             while(x>0)
  200.             {
  201.                 cout<<'a';
  202.                 x--;
  203.                 f=1;
  204.             }
  205.             n-=x;
  206.             cout<<'b';
  207.             n--;
  208.             // cout<<"Y "<<y<<endl;
  209.             x=y-k;
  210.             n-=x;
  211.             while(x>0)
  212.             {
  213.                 cout<<'a';
  214.                 x--;
  215.             }
  216.             cout<<'b';
  217.             n--;
  218.             if(f)
  219.             {
  220.                 while(n>0)
  221.                 {
  222.                     cout<<'a';
  223.                     n--;
  224.                 }
  225.                 line;
  226.             }
  227.             else
  228.             {
  229.  
  230.                 while(n>3)
  231.                 {
  232.                     cout<<'a';
  233.                     n--;
  234.                 }
  235.                 line;
  236.             }
  237.             */
  238.  
  239.  
  240.     }
  241.  
  242.  
  243. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement