fork(1) download
  1. //#pragma GCC optimize("Ofast,no-stack-protector")
  2. //#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx")
  3. //#pragma GCC target("avx,tune=native")
  4. // Anand Jaisingh
  5.  
  6. #include<bits/stdc++.h>
  7.  
  8. using namespace std;
  9.  
  10. typedef complex<double> base;
  11. typedef long double ld;
  12. typedef long long ll;
  13.  
  14. #define pb push_back
  15. #define pii pair<int,int>
  16. #define pll pair< ll , ll >
  17. #define vi vector<int>
  18. #define vvi vector< vi >
  19.  
  20. const int maxn=(int)(1e5+5);
  21. const ll mod=(ll)(1e9+7);
  22. int a[maxn];
  23. ll n,d;
  24. ll min_val=LONG_LONG_MAX,min_steps=0;
  25.  
  26. ll get(ll n)
  27. {
  28. string s=to_string(n);
  29.  
  30. ll ret=0;
  31.  
  32. for(int i=0;i<s.size();i++)
  33. {
  34. ret+=s[i]-'0';
  35. }
  36.  
  37. return ret;
  38. }
  39.  
  40. void solve(ll n,ll steps)
  41. {
  42. if(n<min_val)
  43. {
  44. min_val=n;min_steps=steps;
  45. }
  46.  
  47. else if(n==min_val)
  48. {
  49. min_steps=min(min_steps,steps);
  50. }
  51.  
  52. if(steps<15)
  53. {
  54. solve(get(n),steps+1);solve(n+d,steps+1);
  55. }
  56. }
  57.  
  58. int main()
  59. {
  60. ios_base::sync_with_stdio(0);cin.tie(0);
  61.  
  62. int t;cin>>t;
  63.  
  64. while(t>0)
  65. {
  66. cin>>n>>d;
  67.  
  68. min_val=LONG_LONG_MAX;min_steps=0;
  69.  
  70. solve(n,0);
  71.  
  72. cout<<min_val<<" "<<min_steps<<endl;
  73.  
  74. t--;
  75. }
  76.  
  77. return 0;
  78. }
  79.  
Success #stdin #stdout 0s 15624KB
stdin
Standard input is empty
stdout
Standard output is empty