QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#420081 | #8347. 毒假强 | Bronya | 100 ✓ | 2ms | 4208kb | C++14 | 1.6kb | 2024-05-24 14:30:34 | 2024-05-24 14:30:34 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
long long k,n;
const int L=37;
__int128 pw[41];
__int128 zy[41][401],f[2][41];
void Init(){
pw[0]=1;
for(int i=1;i<=L;i++)pw[i]=10*pw[i-1];
zy[0][0]=1;
for(int i=1;i<=L;i++){
for(int j=0;j<=8*(i-1);j++){
if(!zy[i-1][j])continue;
for(int k=0;k<=8;k++)zy[i][j+k]+=zy[i-1][j];
}
}
}
int sav[41];
int sum[41],cnt[41];
int ned[41];
__int128 calc(int x){
for(int i=0;i<k;i++)sum[i]=cnt[i]=0;
for(int i=L;i>=x;i--)sum[i%k]+=sav[i];
for(int i=x-1;i>=0;i--)cnt[i%k]++;
int ll=L/k+1;
__int128 ans=0;
for(int i=1;i<=ll;i++){
__int128 now=(__int128)i*(pw[k]-1);
for(int j=0;j<=k+1;j++)ned[j]=now/pw[j]%10;
for(int j=0;j<=ll;j++)f[0][j]=f[1][j]=0;
f[0][0]=1;
for(int j=0;j<=k+1;j++){
for(int l=0;l<=ll;l++){
if(!f[0][l])continue;
for(int s=(ned[j]+10-l%10+10-sum[j]%10)%10;s<=8*cnt[j];s+=10)f[1][(l+s+sum[j])/10]+=f[0][l]*zy[cnt[j]][s];
}
for(int l=0;l<=ll;l++)f[0][l]=f[1][l],f[1][l]=0;
}
ans+=f[0][0];
}
return ans;
}
void xqw(__int128 ans){
if(!ans)return;
xqw(ans/10);putchar(ans%10+'0');
}
int main(){
scanf("%lld%lld",&k,&n);Init();
__int128 ans=0;
for(int i=L;i>=0;i--){
for(int j=0;j<=9;j++){
sav[i]=j;
__int128 now=calc(i);
if(now<n)n-=now;
else {
ans+=sav[i]*pw[i];
break;
}
}
}
ans/=pw[k]-1;
xqw(ans);
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 25
Accepted
Test #1:
score: 25
Accepted
time: 1ms
memory: 3904kb
input:
2 653
output:
1069
result:
ok single line: '1069'
Test #2:
score: 25
Accepted
time: 1ms
memory: 3908kb
input:
2 729
output:
1168
result:
ok single line: '1168'
Test #3:
score: 25
Accepted
time: 1ms
memory: 3864kb
input:
2 378
output:
569
result:
ok single line: '569'
Test #4:
score: 25
Accepted
time: 1ms
memory: 4136kb
input:
3 673
output:
1329
result:
ok single line: '1329'
Test #5:
score: 25
Accepted
time: 1ms
memory: 4144kb
input:
3 803
output:
1514
result:
ok single line: '1514'
Test #6:
score: 25
Accepted
time: 1ms
memory: 3976kb
input:
3 999
output:
1772
result:
ok single line: '1772'
Test #7:
score: 25
Accepted
time: 1ms
memory: 3876kb
input:
1 754
output:
1142
result:
ok single line: '1142'
Test #8:
score: 25
Accepted
time: 0ms
memory: 3976kb
input:
3 673
output:
1329
result:
ok single line: '1329'
Test #9:
score: 25
Accepted
time: 1ms
memory: 3860kb
input:
3 728
output:
1390
result:
ok single line: '1390'
Test #10:
score: 25
Accepted
time: 1ms
memory: 3860kb
input:
3 644
output:
1277
result:
ok single line: '1277'
Test #11:
score: 25
Accepted
time: 1ms
memory: 3904kb
input:
3 403
output:
734
result:
ok single line: '734'
Test #12:
score: 25
Accepted
time: 1ms
memory: 3860kb
input:
2 196
output:
286
result:
ok single line: '286'
Test #13:
score: 25
Accepted
time: 1ms
memory: 4140kb
input:
1 73
output:
90
result:
ok single line: '90'
Test #14:
score: 25
Accepted
time: 0ms
memory: 3904kb
input:
2 661
output:
1079
result:
ok single line: '1079'
Test #15:
score: 25
Accepted
time: 1ms
memory: 3908kb
input:
1 648
output:
889
result:
ok single line: '889'
Subtask #2:
score: 35
Accepted
Test #16:
score: 35
Accepted
time: 2ms
memory: 3888kb
input:
1 345034715579071096
output:
2513029422339367072
result:
ok single line: '2513029422339367072'
Test #17:
score: 35
Accepted
time: 2ms
memory: 3980kb
input:
1 928064447724082316
output:
6841649390539291284
result:
ok single line: '6841649390539291284'
Test #18:
score: 35
Accepted
time: 2ms
memory: 3928kb
input:
1 541392330132197148
output:
3934945708734153715
result:
ok single line: '3934945708734153715'
Test #19:
score: 35
Accepted
time: 0ms
memory: 3920kb
input:
1 932096632324717020
output:
6866796948572468426
result:
ok single line: '6866796948572468426'
Test #20:
score: 35
Accepted
time: 2ms
memory: 4208kb
input:
1 114451898294099023
output:
751984975176342275
result:
ok single line: '751984975176342275'
Test #21:
score: 35
Accepted
time: 1ms
memory: 3860kb
input:
1 235498410350575794
output:
1678575115834518445
result:
ok single line: '1678575115834518445'
Test #22:
score: 35
Accepted
time: 2ms
memory: 3908kb
input:
1 263087596959546780
output:
1854129753611416834
result:
ok single line: '1854129753611416834'
Test #23:
score: 35
Accepted
time: 2ms
memory: 3880kb
input:
1 576677905677423798
output:
4168653345619750896
result:
ok single line: '4168653345619750896'
Test #24:
score: 35
Accepted
time: 2ms
memory: 4168kb
input:
1 715338160945566811
output:
5200349120580131175
result:
ok single line: '5200349120580131175'
Test #25:
score: 35
Accepted
time: 2ms
memory: 3904kb
input:
1 732471942288061103
output:
5313900915618634928
result:
ok single line: '5313900915618634928'
Test #26:
score: 35
Accepted
time: 2ms
memory: 3884kb
input:
1 81591921669173834
output:
533613350411224447
result:
ok single line: '533613350411224447'
Test #27:
score: 35
Accepted
time: 2ms
memory: 3976kb
input:
1 444041620832982561
output:
3172902012381803952
result:
ok single line: '3172902012381803952'
Test #28:
score: 35
Accepted
time: 2ms
memory: 4172kb
input:
1 6697181292380282
output:
39407408296042592
result:
ok single line: '39407408296042592'
Test #29:
score: 35
Accepted
time: 0ms
memory: 3860kb
input:
1 952035664236484391
output:
7007633864782456009
result:
ok single line: '7007633864782456009'
Test #30:
score: 35
Accepted
time: 0ms
memory: 3840kb
input:
1 119337166106580019
output:
792828609748126894
result:
ok single line: '792828609748126894'
Subtask #3:
score: 40
Accepted
Test #31:
score: 40
Accepted
time: 1ms
memory: 3880kb
input:
12 874620678069272691
output:
22463825142185819370
result:
ok single line: '22463825142185819370'
Test #32:
score: 40
Accepted
time: 1ms
memory: 3980kb
input:
16 802614516796786027
output:
35407415665622422294
result:
ok single line: '35407415665622422294'
Test #33:
score: 40
Accepted
time: 1ms
memory: 3976kb
input:
6 756647802834648987
output:
10438847716008292465
result:
ok single line: '10438847716008292465'
Test #34:
score: 40
Accepted
time: 1ms
memory: 3976kb
input:
3 226896403387130337
output:
2059211761939710776
result:
ok single line: '2059211761939710776'
Test #35:
score: 40
Accepted
time: 0ms
memory: 3944kb
input:
1 347488145421093192
output:
2527387074818969159
result:
ok single line: '2527387074818969159'
Test #36:
score: 40
Accepted
time: 1ms
memory: 3864kb
input:
14 193000621330864201
output:
6067357863414375200
result:
ok single line: '6067357863414375200'
Test #37:
score: 40
Accepted
time: 1ms
memory: 4204kb
input:
6 954115818600650251
output:
12864634150158375562
result:
ok single line: '12864634150158375562'
Test #38:
score: 40
Accepted
time: 1ms
memory: 3924kb
input:
17 743225133605738266
output:
37311263433846176756
result:
ok single line: '37311263433846176756'
Test #39:
score: 40
Accepted
time: 1ms
memory: 3924kb
input:
9 252020961388627232
output:
4250078145252196572
result:
ok single line: '4250078145252196572'
Test #40:
score: 40
Accepted
time: 1ms
memory: 3984kb
input:
12 625490241962472026
output:
15466218565422592895
result:
ok single line: '15466218565422592895'
Test #41:
score: 40
Accepted
time: 0ms
memory: 3980kb
input:
17 954452527346520859
output:
48142667151713611623
result:
ok single line: '48142667151713611623'
Test #42:
score: 40
Accepted
time: 1ms
memory: 3980kb
input:
3 976431687783080972
output:
8829664277323469345
result:
ok single line: '8829664277323469345'
Test #43:
score: 40
Accepted
time: 2ms
memory: 3860kb
input:
1 847601466910992894
output:
6192959617472541715
result:
ok single line: '6192959617472541715'
Test #44:
score: 40
Accepted
time: 0ms
memory: 3944kb
input:
4 151280662907406040
output:
1473815899034367653
result:
ok single line: '1473815899034367653'
Test #45:
score: 40
Accepted
time: 1ms
memory: 3944kb
input:
2 888548487913703829
output:
7283410115572769456
result:
ok single line: '7283410115572769456'