Advertisement
tumaryui

Untitled

Sep 4th, 2020
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.64 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #include <ext/pb_ds/assoc_container.hpp>
  3. #include <ext/pb_ds/tree_policy.hpp>
  4. using namespace std;
  5. using namespace __gnu_pbds;
  6.  
  7. #define int long long
  8. #define pb push_back
  9. #define all(s) s.begin(),s.end()
  10. #define rall(s) s.rbegin(),s.rend()
  11. #define pii pair<int,int>
  12. #define fr first
  13. #define sc second
  14. #define bst ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
  15. #define endl "\n"
  16. #define no cout << "NO" << endl;
  17. #define yes cout << "YES" << endl;
  18. typedef tree<int,null_type,less<int>,rb_tree_tag,tree_order_statistics_node_update> ordered_set;
  19.  
  20. const int N = 5e5 + 10, mod = 1e9 + 7, inf = 1e18 + 7, logn = 23;
  21. const double pi = acos(-1);
  22.  
  23. int bpow(int a, int n) {
  24. int res = 1;
  25. while(n) {
  26. if(n & 1) {
  27. res *= a;
  28. }
  29. n/=2;
  30. a *= a;
  31. }
  32. return res;
  33. }
  34.  
  35. void solve() {
  36. //soln
  37. int n, s;
  38. cin >> n >> s;
  39. vector<int> a;
  40. int tmp = n;
  41. while(n > 0) {
  42. a.pb(n % 10);
  43. n /= 10;
  44. }
  45. n = tmp;
  46. if(accumulate(all(a), 0) <= s) {
  47. cout << 0 << endl;
  48. return;
  49. }
  50. reverse(all(a));
  51. int pref = 0;
  52. int pos = 0;
  53. for(int i = 0; i < a.size(); i++) {
  54. pref += a[i];
  55. if(pref > s) {
  56. pos = i;
  57. break;
  58. }
  59. }
  60. int ans = 0;
  61. pos = a.size() - pos;
  62. while(pref > s && pos <= 20) {
  63. int pw = bpow(10, pos - 1);
  64. int cur = (int)(n / pw) % 10;
  65. pref -= (cur - 1);
  66. ans += (int)(bpow(10, pos - 1) - (n % pw));
  67. ans += (10 - cur - 1) * pw;
  68. n += bpow(10, pos);
  69. n -= n % bpow(10, pos);
  70. pos++;
  71. }
  72. cout << ans << endl;
  73. }
  74.  
  75. main() {
  76. bst;
  77. int t = 1;
  78. cin >> t;
  79. while(t--) {
  80. solve();
  81. }
  82. }
  83.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement