QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#220827 | #6740. Function | ycccc319 | RE | 12ms | 4700kb | C++17 | 655b | 2023-10-20 21:11:53 | 2023-10-20 21:11:54 |
Judging History
answer
#include <bits/stdc++.h>
#define mod 998244353
#define ll long long
using namespace std;
ll ff[20230000];
ll fk(ll x)
{
ll f(ll x);
ll ans=0;
ll tmp=min(x,20210926ll);
for(int l=1,r=0;l<=tmp;l=r+1)
{
r = tmp / (tmp / l);
if(l==1) continue;
ans=(ans+(r-l+1)*f(x/l)%mod)%mod;
}
return ans;
}
ll f(ll x)
{
if(ff[x] and x<20230000) return ff[x];
if(x==0)
{
return 0;
}
else if(x==1)
{
return 1;
}
else
{
return ff[x]=(fk(x)+1)%mod;
}
}
int main() {
ll n;
cin>>n;
cout<<f(n);
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3432kb
input:
1
output:
1
result:
ok 1 number(s): "1"
Test #2:
score: 0
Accepted
time: 0ms
memory: 3380kb
input:
2
output:
2
result:
ok 1 number(s): "2"
Test #3:
score: 0
Accepted
time: 0ms
memory: 3376kb
input:
100
output:
949
result:
ok 1 number(s): "949"
Test #4:
score: 0
Accepted
time: 0ms
memory: 3540kb
input:
10
output:
19
result:
ok 1 number(s): "19"
Test #5:
score: 0
Accepted
time: 1ms
memory: 3548kb
input:
1000
output:
48614
result:
ok 1 number(s): "48614"
Test #6:
score: 0
Accepted
time: 0ms
memory: 3448kb
input:
10000
output:
2602393
result:
ok 1 number(s): "2602393"
Test #7:
score: 0
Accepted
time: 0ms
memory: 3456kb
input:
100000
output:
139804054
result:
ok 1 number(s): "139804054"
Test #8:
score: 0
Accepted
time: 3ms
memory: 3896kb
input:
1000000
output:
521718285
result:
ok 1 number(s): "521718285"
Test #9:
score: 0
Accepted
time: 12ms
memory: 4700kb
input:
10000000
output:
503104917
result:
ok 1 number(s): "503104917"
Test #10:
score: -100
Runtime Error
input:
100000000