fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long
  4. #define int long long
  5. #define all(v) (v).begin(),(v).end()
  6. #define clr(v,val) memset(v,val,sizeof(v))
  7. #define rep(var, end) for(int var =0;var<end;var++)
  8. #define repp(var,begin,end) for(int var = begin;var<end;var++)
  9. #define endl '\n'
  10. #define fast ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
  11. ll mod = 1e9 + 7;
  12.  
  13. void solve() {
  14. string n; cin>>n;
  15. int x; cin>>x;
  16. x--;
  17. int y = (n[0] == '0');
  18. repp(i,1,n.size()) {
  19. if (n[i] == '0' and i < n.size() - 1) y++;
  20. if (n[i] < n[i - 1]) {
  21. y++;
  22. }
  23. }
  24. if (y > x) cout<<-1<<endl;
  25. else {
  26. string out = "";
  27. string res = "";
  28. res += n[0];
  29. if (n[0] == '0') res += " ",x--;
  30. repp(i,1,n.size()) {
  31. if (n[i] < n[i - 1]) res += " ", res += n[i],x--;
  32. else res += n[i];
  33. if (n[i] == '0' and i < n.size() - 1) res += " ",x--;
  34. }
  35. rep(i,res.size()) {
  36. if (x and res[i] != ' ' and i < res.size() - 1 and res[i + 1] != ' ') out += res[i],out += ' ',x--;
  37. else out+=res[i];
  38. }
  39. if (x == 0) cout<<out<<endl;
  40. else cout<<-1<<endl;
  41. }
  42. }
  43.  
  44. void start() {
  45. int t = 1;
  46. cin >> t;
  47. while (t--) {
  48. solve();
  49. }
  50. }
  51.  
  52. signed main() {
  53. fast;
  54. // freopen("neat.in","r",stdin);
  55. // freopen("output.txt","w",stdout);
  56. start();
  57. return 0;
  58. }
  59.  
Success #stdin #stdout 0.01s 5284KB
stdin
1
1324
3
stdout
1 3 24