解析:
先取出所有数,然后从低位到高位贪心改变到0直到符合条件
#include<bits/stdc++.h>
using namespace std;
#define int long long
int n,s;
void solve(){
scanf("%lld%lld",&n,&s);
int p=n,sum=0;
vector<int>v;
while(p){
sum+=p%10;
v.push_back(p%10);
p/=10;
}
if(sum<=s){
puts("0");
return;
}
int res=0;
for(int i=0;i<v.size();i++){
if(sum<=s) break;
if(v[i]==0) continue;
res+=(int)pow(10,i)*(10-v[i]);
sum-=v[i];
v[i]=0;
if(i==v.size()-1){
v.push_back(1);
sum+=1;
}
else{
v[i+1]+=1;
sum+=1;
for(int j=i+1;j<v.size();j++){
if(v[j]>=10){
if(j==v.size()-1) v.push_back(1);
else v[j+1]++;
sum++;
v[j]-=10;
sum-=10;
}
else break;
}
}
}
printf("%lld\n",res);
}
signed main(){
int t=1;
scanf("%d",&t);
while(t--) solve();
return 0;
}