Submission #74126418
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ld = long double;
#define endl "\n";
const ll INF = 1e18;
const ll MOD = 998244353;
const int MAXN = 1e6+5;
ll sm(ll num) {
ll res=0;
while(num) {
res+=num%10;
num/=10;
}
return res;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
// int tc;
// cin >> tc;
// while (tc--) {
ll n,m; cin>>n>>m;
ll k=(m-1)%MOD;
vector<ll>inv(n+1,0);
inv[1]=1;
for (int i=2;i<=n;i++) {
inv[i]=MOD-(MOD/i)*inv[MOD%i]%MOD;
}
vector<ll>b(n+1,0);
b[0]=1;
for (int i=1;i<=n;i++) {
ll sum=0;
for (int j=1;j<=9;j++) {
if (j>i) break;
ll v=(1LL*j*(k+1))%MOD;
v=(v-i)%MOD;
if (v<0) v+=MOD;
sum=(sum+v*b[i-j]%MOD)%MOD;
}
b[i]=(sum*inv[i])%MOD;
}
ll ans=0;
for (int i=0;i<=n;i++) {
ll v=(n-i)/9+1;
ans=(ans+b[i]*v%MOD)%MOD;
}
for (ll i=0;i<n;i++) {
ll mn=0;
if (m>=6) {
mn=sm(i);
}
else {
ll e=pow(10,m-1);
mn=(i/e)+sm(i%e);
}
if (mn<=n && mn%9==n%9) {
ans=(ans-1+MOD)%MOD;
}
}
cout<<ans<<endl
// }
}
Submission Info
| Submission Time | |
|---|---|
| Task | G - Many Repunit Sum 2 |
| User | noobslayerk07 |
| Language | C++23 (GCC 15.2.0) |
| Score | 600 |
| Code Size | 1387 Byte |
| Status | AC |
| Exec Time | 8 ms |
| Memory | 5100 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 600 / 600 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample00.txt, sample01.txt, sample02.txt |
| All | sample00.txt, sample01.txt, sample02.txt, testcase00.txt, testcase01.txt, testcase02.txt, testcase03.txt, testcase04.txt, testcase05.txt, testcase06.txt, testcase07.txt, testcase08.txt, testcase09.txt, testcase10.txt, testcase11.txt, testcase12.txt, testcase13.txt, testcase14.txt, testcase15.txt, testcase16.txt, testcase17.txt, testcase18.txt, testcase19.txt, testcase20.txt, testcase21.txt, testcase22.txt, testcase23.txt, testcase24.txt, testcase25.txt, testcase26.txt, testcase27.txt, testcase28.txt, testcase29.txt, testcase30.txt, testcase31.txt, testcase32.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| sample00.txt | AC | 1 ms | 3704 KiB |
| sample01.txt | AC | 1 ms | 3664 KiB |
| sample02.txt | AC | 2 ms | 3916 KiB |
| testcase00.txt | AC | 7 ms | 5044 KiB |
| testcase01.txt | AC | 7 ms | 5028 KiB |
| testcase02.txt | AC | 7 ms | 4916 KiB |
| testcase03.txt | AC | 7 ms | 5044 KiB |
| testcase04.txt | AC | 7 ms | 4920 KiB |
| testcase05.txt | AC | 6 ms | 4784 KiB |
| testcase06.txt | AC | 6 ms | 4792 KiB |
| testcase07.txt | AC | 4 ms | 4144 KiB |
| testcase08.txt | AC | 6 ms | 4888 KiB |
| testcase09.txt | AC | 1 ms | 3632 KiB |
| testcase10.txt | AC | 1 ms | 3676 KiB |
| testcase11.txt | AC | 7 ms | 5088 KiB |
| testcase12.txt | AC | 3 ms | 3976 KiB |
| testcase13.txt | AC | 3 ms | 4024 KiB |
| testcase14.txt | AC | 8 ms | 5100 KiB |
| testcase15.txt | AC | 5 ms | 4536 KiB |
| testcase16.txt | AC | 1 ms | 3476 KiB |
| testcase17.txt | AC | 1 ms | 3588 KiB |
| testcase18.txt | AC | 1 ms | 3448 KiB |
| testcase19.txt | AC | 1 ms | 3672 KiB |
| testcase20.txt | AC | 1 ms | 3424 KiB |
| testcase21.txt | AC | 1 ms | 3720 KiB |
| testcase22.txt | AC | 1 ms | 3828 KiB |
| testcase23.txt | AC | 1 ms | 3448 KiB |
| testcase24.txt | AC | 1 ms | 3604 KiB |
| testcase25.txt | AC | 1 ms | 3792 KiB |
| testcase26.txt | AC | 1 ms | 3464 KiB |
| testcase27.txt | AC | 1 ms | 3520 KiB |
| testcase28.txt | AC | 1 ms | 3532 KiB |
| testcase29.txt | AC | 3 ms | 4004 KiB |
| testcase30.txt | AC | 3 ms | 3920 KiB |
| testcase31.txt | AC | 7 ms | 4920 KiB |
| testcase32.txt | AC | 7 ms | 4920 KiB |