D. Decrease the Sum of Digits
https://codeforces.com/contest/1409/problem/D
#include<bits/stdc++.h> using namespace std; const int N=1e6+5; #define ll long long int main(){ int t;cin>>t; while(t--){ vector<int> v; ll n,s;cin>>n>>s; ll nn=n; while(nn){ v.push_back(nn%10); nn/=10; } v.push_back(0); ll sum=0,i; for(i=v.size()-1;i>=0;i--){ sum+=v[i]; if(sum>s) break; } ll j; for(j=i;j<=v.size()-1;j++){ sum-=v[j]; v[j+1]++; sum++; if(sum<=s) break; } ll aim=0; for(i=v.size()-1;i>=0;i--){ //cout<<v[i]<<' '; aim*=10; if(i>j) aim+=v[i]; } cout<<aim-n<<endl; } return 0; }
浙公网安备 33010602011771号