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;
}

 

posted @ 2020-09-09 23:43  asunayi  阅读(189)  评论(0)    收藏  举报