QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#420081#8347. 毒假强Bronya100 ✓2ms4208kbC++141.6kb2024-05-24 14:30:342024-05-24 14:30:34

Judging History

你现在查看的是最新测评结果

  • [2024-05-24 14:30:34]
  • 评测
  • 测评结果:100
  • 用时:2ms
  • 内存:4208kb
  • [2024-05-24 14:30:34]
  • 提交

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'