我都用了快速幂了啊!
#include<bits/stdc++.h>
typedef long long ll;
using namespace std;
ll powx(ll b,ll p)
{
ll ans=1;
while(p)
{
if(p&1) ans*=b;
p/=2;
b*=b;
}
return ans;
}
ll f(ll l,ll r)
{
if(l<=9) return l;
else
{
ll g=LONG_LONG_MAX,idx=0;
for(ll i=l;i<=r;i++)
{
ll m=LONG_LONG_MIN,mi=LONG_LONG_MAX;
for(ll j=0;j<=ll(log10(i));j++)
{
if(j<18)
{
int u=powx(10,j),u2=u*10;
m=max(m,i%u2/u),mi=min(mi,i%u2/u);
}
else
{
int u=powx(10,j);
m=max(m,i/u),mi=min(mi,i/u);
}
}
bool flag=(g!=abs(m-mi));
g=min(g,abs(m-mi));
if(flag&&g==abs(m-mi)) idx=i;
}
return idx;
}
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0),cout.tie(0);
ll t,l,r;
cin>>t;
for(ll i=1;i<=t;i++) cin>>l>>r,cout<<f(l,r)<<endl;
return 0;
}