fork download
  1. #include "bits/stdc++.h"
  2. using namespace std;
  3. using LL = long long;
  4.  
  5. int main() {
  6. ios_base::sync_with_stdio(false);
  7. cin.tie(NULL);
  8.  
  9. int m; cin >> m;
  10. int k; cin >> k;
  11. string s; cin >> s;
  12. vector<LL> pows(m + 1, 1);
  13. for (int i = 1; i <= m; ++i)
  14. pows[i] = 10LL * pows[i - 1] % k;
  15. auto eval = [&](string s) -> LL {
  16. LL ans = 0;
  17. for (int i = 0; i < (int)s.size(); ++i) {
  18. ans += pows[i] * (s[s.size() - 1 - i] - '0');
  19. ans %= k;
  20. }
  21. return ans;
  22. };
  23. vector<string> mods(k, "");
  24. sort(begin(s), end(s), greater<char>());
  25. do {
  26. LL val = eval(s);
  27. if (mods[val] == "") {
  28. mods[val] = s;
  29. } else {
  30. cout << s << "\n" << mods[val] << "\n";
  31. return 0;
  32. }
  33. } while (prev_permutation(begin(s), end(s)) && s[0] != '0');
  34.  
  35. cout << "-1\n";
  36. }
  37.  
Success #stdin #stdout 0s 5296KB
stdin
6 3
123042
stdout
432201
432210