Advertisement
rafid_shad

J

Aug 18th, 2019
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.89 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. //*****************Map****************************//
  11. typedef map<int, int> mp;
  12. typedef map<int, string> mps;
  13. typedef map<int, char>mpc;
  14. typedef map<string, int>mpsi;
  15. typedef map<char, int>mpci;
  16.  
  17. //****************Pair****************************//
  18. typedef pair<int, int> pii;
  19. typedef pair<string, string> pss;
  20. typedef pair<char, char> pcc;
  21. typedef pair<int, string> pis;
  22. typedef pair<int, char> pic;
  23.  
  24. //*****************Vector************************//
  25. typedef vector<int> VI;
  26. typedef vector<string> VS;
  27. typedef vector<double> VD;
  28. typedef vector<lli> VLLI;
  29. typedef vector<VI> VVI;
  30. typedef vector<pii> VPI;
  31.  
  32. //****************SET**************************//
  33. typedef set<int> seti;
  34. typedef set<string> sets;
  35. typedef set<char>setc;
  36.  
  37. //-------------------------------------------------------------------------------//
  38. #define pp1(A)              printf("%d\n",A)
  39. #define pp2(A,B)            printf("%d %d\n",A,B)
  40. #define pp3(A,B,C)          printf("%d %d %d\n",A,B,C)
  41.  
  42. #define ss1(A)              scanf("%d", &A)
  43. #define ssl(A)              scanf("%lld", &A)
  44. #define ss2(A,B)            scanf("%d,%d",&A,&B)
  45. #define ss3(A,B,C)          scanf("%d,%d,%d",&A,&B,&C)
  46.  
  47. //--------------------------------------------------------------------------------//
  48. #define nosync              ios_base::sync_with_stdio(false), cin.tie(NULL)
  49. #define pf                  push_front
  50. #define pb                  push_back
  51. #define popb                pop_back()
  52. #define popf                pop_front()
  53. #define itr                 iterator
  54. #define mk                  make_pair
  55. #define ff                  first
  56. #define ss                  second
  57. #define END                 return 0
  58. #define line                printf("\n")
  59. #define yes                 printf("YES\n")
  60. #define no                  printf("NO\n")
  61. #define enter               printf("Entered\n")
  62. #define sq(a)               (a)*(a)
  63. #define SZ(a)               (int)a.size()
  64. #define all(a)              (a).begin(), (a).end()
  65. #define Erase(V,I)          (V).erase((V).begin()+I)
  66. #define Insert(V,I,M)       (V).insert((V).begin()+I,M)
  67. #define max3(a,b,c)         max(max(a,b),c)
  68. #define max4(a,b,c,d)       max(max3(a,b,c),d)
  69. #define min3(a,b,c)         min(min(a,b),c)
  70. #define min4(a,b,c,d)       min(min3(a,b,c),d)
  71. #define READ()              freopen("input.txt", "r", stdin)
  72. #define WRITE()             freopen("output.txt", "w", stdout)
  73.  
  74. //********************************************************************************//
  75. #define loop(i,n)           for(lli i=0;i<n;i++)
  76. #define loop2(i,n)          for(int i=n-1;i>=0;i--)
  77. #define loop3(i,n)          for(int i=1;i<=n;i++)
  78. #define vin(V, N)           for(int i=0; i<N; i++){ int X; ss1(X); V.pb(X); }
  79. #define vinll(V, N)         for(int i=0; i<N; i++){ lli X; ssl(X); V.pb(X); }
  80. #define scanA(A, N)         for(int i=0; i<N; i++){ ss1(A[i]); }
  81. #define scanAll(A, N)       for(int i=0; i<N; i++){ ssl(A[i]); }
  82. #define printA(A, N)        for(int i=0; i<N; i++){ cout<<A[i]; if (i==N-1)cout<<endl; }
  83. #define vout(v)             for(int i = 0; i < v.size(); i++) {cout << v[i]; if(i < v.size() - 1) cout <<" "; else cout << endl;}
  84.  
  85. /*-----------------------GCD && LCM------------------*/
  86. int gcd(int a, int b)
  87. {
  88.     return b == 0 ? a : gcd(b, a % b);
  89. }
  90. int lcm(int a, int b)
  91. {
  92.     return a * (b / gcd(a, b));
  93. }
  94. /*---------------------------------------------------*/
  95.  
  96. //---------------------------------*START*-----------------------------------------//
  97.  
  98. int main()
  99. {
  100.     //while(true)
  101.     //{
  102.  
  103.         string str;
  104.         set<int> stt;
  105.         int a,b,c;
  106.         cin>>str;
  107.         c=str.size();
  108.         int arr[c];
  109.         b=0;
  110.         while(b!=c)
  111.         {
  112.             arr[b]=str[b]-'0' ;
  113.  
  114.             stt.insert(arr[b]);
  115.             b++;
  116.         }
  117.         if(stt.size()==1)
  118.         {
  119.             cout<<-1<<endl;
  120.             END;
  121.         }
  122.         int count=0;
  123.         for(int i=c-1; i>=1; i--)
  124.         {
  125.  
  126.             int j=i;
  127.             while(j--)
  128.             {
  129.                 if(arr[i]==0 && j==0)
  130.                 {
  131.                     continue;
  132.                 }
  133.                 if(arr[i]<arr[j] and arr[i]>arr[j+1])
  134.                 {
  135.                     swap(arr[i],arr[j]);
  136.                     count++;
  137.                     break;
  138.                 }
  139.                 if(arr[i]<arr[i-1])
  140.                 {
  141.                     swap(arr[i],arr[i-1]);
  142.                     count++;
  143.                     break;
  144.                 }
  145.  
  146.             }
  147.             if(count>0)
  148.             {
  149.                 break;
  150.             }
  151.         }
  152.         if(count==0)
  153.             cout<<-1<<endl;
  154.         else
  155.             printA(arr,c);
  156.  
  157.     //}
  158.     END;
  159. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement