Advertisement
Guest User

Untitled

a guest
Mar 20th, 2019
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.55 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <fstream>
  4. #include <algorithm>
  5. #include <string>
  6.  
  7. using namespace std;
  8.  
  9. int main()
  10. {
  11. string str;
  12. cin >> str;
  13. vector <int> a(10);
  14. int size = str.size();
  15. if (str.size()>=37||str.size()==1)
  16. {
  17. cout << -1 << " " << -1;
  18. return 0;
  19. }
  20. for (int i = 0; i < str.size(); i++)
  21. {
  22. a[str[i] - '0']++;
  23. }
  24. int ch = size - a[0];
  25. if (size == 2 && a[0] == 2)
  26. {
  27. cout << 0 << " " << 0;
  28. return 0;
  29. }
  30. if (ch == 0)
  31. {
  32. cout << -1<<" " << -1;
  33. return 0;
  34. }
  35. if (ch == 1 && size >= 20||(size==19)&&ch==1&&a[1]==0)
  36. {
  37. cout << -1 << " " << -1;
  38. return 0;
  39. }
  40. bool check = true;
  41.  
  42. long long int small=0;
  43.  
  44. int cnt = 0;
  45. if (size==19&&a[1] == 1 && a[0] == 18)
  46. {
  47. cout << 0 << " ";
  48. long long int k = 1e18;
  49. cout << k;
  50. return 0;
  51. }
  52. if (a[0] != 0 && size <= 18)
  53. {
  54. cout << 0<<" ";
  55. size--;
  56. }
  57. else
  58. {
  59. while (check)
  60. {
  61. for (int i = 0; i < 10; i++)
  62. {
  63. if (a[i] != 0 && (small != 0 || (small == 0 && i != 0)))
  64. {
  65. small = small * 10;
  66. cnt = i;
  67. a[i]--;
  68. size--;
  69. small += cnt;
  70. break;
  71. }
  72. }
  73. if (size < 18 || ((size == 18)&&a[0]==17)&&a[1]==1)
  74. {
  75. check = false;
  76. cout << small << " ";
  77. }
  78. }
  79. }
  80. long long int biggest=0;
  81. cnt = 0;
  82. while (size)
  83. {
  84. for (int i = 0; i < 10; i++)
  85. {
  86. if (a[i]!=0&&(biggest != 0 || (biggest == 0 && i != 0)))
  87. {
  88. biggest = biggest * 10;
  89. cnt = i;
  90. a[i]--;
  91. size--;
  92. biggest += cnt;
  93. break;
  94. }
  95. }
  96. }
  97. cout << biggest;
  98. return 0;
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement