fork download
  1. // Source: https://u...content-available-to-author-only...o.guide/general/io
  2.  
  3. #include <bits/stdc++.h>
  4. using namespace std;
  5. long long a[10];
  6.  
  7. long long tcs(string s)
  8. {
  9. long long t = 0;
  10.  
  11. for (char i : s)
  12. {
  13. t += i - '0';
  14. }
  15. return t;
  16. }
  17. int main() {
  18. string s;
  19. cin >> s;
  20. if (tcs(s) % 9 != 0)
  21. {
  22. cout << -1;
  23. return 0;
  24. }
  25.  
  26. sort(s.begin(), s.end());
  27. long long i = 0;
  28.  
  29. while (s[i] != '0')
  30. {
  31. i++;
  32. }
  33. string x = "";
  34. x += s[i+1];
  35.  
  36. for (int j = 0; j <= i; j++)
  37. {
  38. x += '0';
  39. }
  40. for (int j = i + 2; j < s.size(); j++)
  41. {
  42. x += s[j];
  43. }
  44. cout << x;
  45. a[s[s.size() - 1] - '0'] = (int)(s.size());
  46. for (long long i = x.size() - 2; i >= 0; i--)
  47. {
  48. long long j = -1;
  49.  
  50. for (long long v = 0; v <= 9; v++) if (a[v])
  51. {
  52. if (((s[i] - '0') * 10 + v) % 4 == 0 || ((v * 10) + (s[i] - '0')) % 4 == 0)
  53. {
  54. j = a[v] - 1;
  55. for (long long k = 0; k < i; k++) cout << x[k];
  56. for (long long k = i + 1; k <= j - 1; k++) cout << x[k];
  57. for (long long k = j + 1; k <= x.size() - 1; k++) cout << x[k];
  58. long long _max = max(x[i], x[j]) - '0';
  59. long long _min = min(x[i], x[j]) - '0';
  60.  
  61. if ((_min * 10 + _max) % 4 == 0) cout << _min << _max;
  62. else cout << _max << _min ;
  63. return 0;
  64. }
  65. }
  66. a[s[i] - '0'] = i + 1;
  67. }
  68. }
  69.  
  70.  
  71. // #include <bits/stdc++.h>
  72. // using namespace std;
  73. // long long a[10];
  74. // long long sums(string s)
  75. // {
  76. // long long t = 0;
  77. // for (char i : s)
  78. // {
  79. // t += (i - '0');
  80. // }
  81. // return t;
  82. // }
  83.  
  84. // int main() {
  85. // string s;
  86. // cin >> s;
  87. // if (sums(s) % 9 != 0)
  88. // {
  89. // cout << -1;
  90. // return 0;
  91. // }
  92.  
  93. // sort(s.begin(), s.end());
  94. // long long i = 0;
  95. // string x = "";
  96. // while (s[i] == '0')
  97. // {
  98. // i += 1;
  99. // }
  100. // x += s[i];
  101. // for (long long k = 1; k <= i; k++)
  102. // {
  103. // x += "0";
  104. // }
  105. // i ++;
  106. // while (i < s.size())
  107. // {
  108. // x += s[i];
  109. // i += 1;
  110. // }
  111. // //cout << a[x[x.size() - 1] - '0']<< endl;
  112. // a[x[x.size() - 1] - '0'] = (int)(x.size());
  113. // for (long long i = x.size() - 2; i >= 0; i--)
  114. // {
  115. // long long j = -1;
  116. // for (long long v = 9; v >= 0; v--) if(a[v] != 0)
  117. // {
  118.  
  119. // if (((x[i] - '0') * 10 + v) % 4 == 0 || (v * 10 + (x[i] - '0')) % 4 == 0)
  120. // {
  121. // j = a[v] - 1;
  122.  
  123. // for (long long k = 0; k <= i - 1; k++) cout << x[k];
  124. // for (long long k = i + 1; k <= j - 1; k++) cout << x[k];
  125. // for (long long k = j + 1; k <= x.size() - 1; k++) cout << x[k];
  126. // long long _min = min(x[i], x[j]) - '0';
  127. // long long _max = max(x[i], x[j]) - '0';
  128. // if ((_min * 10 + _max) % 4 == 0) cout << _min << _max;
  129. // else cout << _max << _min;
  130. // return 0;
  131.  
  132. // }
  133. // }
  134.  
  135.  
  136. // if (a[x[i] - '0'] == 0) a[x[i] - '0'] = i + 1;
  137. // }
  138. // cout << -1;
  139. // }
  140.  
Success #stdin #stdout 0s 5328KB
stdin
432
stdout
T000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000T0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000