题目 题意: 求Sigma f(i) , f(x): >T; // read(T); while(T--) { solve(); } return 0; } // 100000000000000000 // 900000000000000000 // 999999999999999999
// Problem: C - digitnum
// Contest: AtCoder - Monoxer Programming Contest 2022(AtCoder Beginner Contest 238)
// URL: https://atcoder.jp/contests/abc238/tasks/abc238_c
// Memory Limit: 1024 MB
// Time Limit: 2000 ms
//
// Powered by CP Editor (https://cpeditor.org)
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define OldTomato ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr)
#define fir(i,a,b) for(int i=a;i= 1;
}
return res;
}
int ni(int x)
{
return qpow(x,mod-2);
}
int count(int x)
{
int res = 0;
while(x)
{
res ++ ;
x /= 10;
}
return res;
}
int cal(int x)
{
return (x - pow(10,count(x)-1) + 1);
}
int fun(int x)
{
int cnt = count(x) - 1;
int res = 0;
for(int i = 9;cnt--;i = i * 10)
{
res = (res + (i % mod) * ((i+1)%mod ) % mod * ni(2) %mod )%mod;
}
return res;
}
void solve()
{
ll x; read(x);
ll ans = fun(x);
ll le = pow(10,count(x)-1);
x = x - le + 1;
ans = (ans + (x % mod) * ((x+1)%mod) % mod * ni(2) %mod ) % mod;
ans = (ans + mod) % mod;
write(ans);
}
signed main(void)
{
T = 1;
// OldTomato; cin>>T;
// read(T);
while(T--)
{
solve();
}
return 0;
}
// 100000000000000000
// 900000000000000000
// 999999999999999999