QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#661879#5460. Sum of NumbersafyTL 988ms5716kbC++207.9kb2024-10-20 18:42:592024-10-20 18:42:59

Judging History

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

  • [2024-10-20 18:42:59]
  • 评测
  • 测评结果:TL
  • 用时:988ms
  • 内存:5716kb
  • [2024-10-20 18:42:59]
  • 提交

answer

#include <bits/stdc++.h>
#ifdef LOCAL
#include "debug.h"
#else
#define deb(...)
#endif
using namespace std;
#define ll long long
// #define int long long
#define ull unsigned long long
#define pii pair<int, int>
#define db double
#define baoliu(x, y) cout << fixed << setprecision(y) << x
#define endl "\n"
#define alls(x) (x).begin(), (x).end()
#define fs first
#define sec second
#define bug(x) (void)(cerr << "L" << __LINE__ << ": " << #x << " = " << (x) << endl)
const int N = 2e5 + 10;
const int M = 1e6 + 10;
const int inf = 0x3f3f3f3f;
const int mod = 998244353;
const double eps = 1e-8;
const double PI = acos(-1.0);
using uint = unsigned;
const int MOD = 998244353;  // NTT模数

// 模加法
int Add(int x, int y) { return (x + y >= MOD) ? x + y - MOD : x + y; }
// 模减法
int Dec(int x, int y) { return (x - y < 0) ? x - y + MOD : x - y; }
// 模乘法
int mul(int x, int y) { return 1ll * x * y % MOD; }
// 快速幂计算
uint qp(uint a, int b) {
    uint res = 1;
    for (; b; b >>= 1, a = mul(a, a))
        if (b & 1)
            res = mul(res, a);
    return res;
}

namespace NTT {
int sz;                          // FFT大小
uint w[2500005], w_mf[2500005];  // 存储预计算的单位根及其乘法因子
// 计算乘法因子
int mf(int x) { return (1ll * x << 32) / MOD; }
// 初始化NTT
void init(int n) {
    for (sz = 2; sz < n; sz <<= 1);
    uint pr = qp(3, (MOD - 1) / sz);
    w[sz / 2] = 1;
    w_mf[sz / 2] = mf(1);
    for (int i = 1; i < sz / 2; i++) {
        w[sz / 2 + i] = mul(w[sz / 2 + i - 1], pr);
        w_mf[sz / 2 + i] = mf(w[sz / 2 + i]);
    }
    for (int i = sz / 2 - 1; i; i--) {
        w[i] = w[i << 1];
        w_mf[i] = w_mf[i << 1];
    }
}
// 前向NTT
void ntt(vector<uint>& A, int L) {
    for (int d = L >> 1; d; d >>= 1) {
        for (int i = 0; i < L; i += (d << 1)) {
            for (int j = 0; j < d; j++) {
                uint x = A[i + j] + A[i + d + j];
                if (x >= 2 * MOD)
                    x -= 2 * MOD;
                ll t = A[i + j] + 2 * MOD - A[i + d + j];
                ll q = t * w_mf[d + j] >> 32;
                int y = t * w[d + j] - q * MOD;
                A[i + j] = x;
                A[i + d + j] = y;
            }
        }
    }
    for (int i = 0; i < L; i++) {
        if (A[i] >= MOD)
            A[i] -= MOD;
    }
}
// 逆NTT
void intt(vector<uint>& A, int L) {
    for (int d = 1; d < L; d <<= 1) {
        for (int i = 0; i < L; i += (d << 1)) {
            for (int j = 0; j < d; j++) {
                uint x = A[i + j];
                if (x >= 2 * MOD)
                    x -= 2 * MOD;
                ll t = A[i + d + j];
                ll q = t * w_mf[d + j] >> 32;
                int y = t * w[d + j] - q * MOD;
                A[i + j] = x + y;
                A[i + d + j] = x + 2 * MOD - y;
            }
        }
    }
    int k = (L & (-L));
    reverse(A.begin() + 1, A.end());
    for (int i = 0; i < L; i++) {
        ll m = -A[i] & (L - 1);
        A[i] = (A[i] + m * MOD) / k;
        if (A[i] >= MOD)
            A[i] -= MOD;
    }
}
}  // namespace NTT

struct bigint {
    vector<int> nums;  // 存储大整数的每一位
    int operator[](const int& k) const { return nums[k]; }
    int& operator[](const int& k) { return nums[k]; }
    int size() { return nums.size(); }
    void push_back(int x) { nums.push_back(x); }
    // 从整数构造大整数
    bigint(int x = 0) {
        do {
            nums.push_back(x % 10);
            x /= 10;
        } while (x);
    }
    // 从字符串构造大整数
    bigint(string s) {
        for (int i = s.size() - 1; i >= 0; i--)
            nums.push_back(s[i] - '0');
        trim();
    }
    // 去掉多余的前导零
    void trim() {
        while (nums.size() > 1 && nums.back() == 0) {
            nums.pop_back();
        }
    }
    // 清空大整数
    void clear() {
        nums.clear();
    }
    // 输入大整数
    friend istream& operator>>(istream& cin, bigint& num) {
        string tnum;
        cin >> tnum;
        num = tnum;
        return cin;
    }
    // 输出大整数
    friend ostream& operator<<(ostream& cout, bigint num) {
        bool start = false;
        for (int i = num.size() - 1; i >= 0; i--) {
            if (!start && num[i] == 0)
                continue;
            start = true;
            cout << num[i];
        }
        if (!start)
            cout << 0;
        return cout;
    }
};

// 比较运算符重载
bool operator<(bigint a, bigint b) {
    if (a.size() != b.size())
        return a.size() < b.size();
    for (int i = a.size() - 1; i >= 0; i--)
        if (a[i] != b[i])
            return a[i] < b[i];
    return false;
}

bool operator>(bigint a, bigint b) {
    return b < a;
}

bool operator<=(bigint a, bigint b) {
    return !(a > b);
}

bool operator>=(bigint a, bigint b) {
    return !(a < b);
}

bool operator==(bigint a, bigint b) {
    return !(a < b) && !(a > b);
}

bool operator!=(bigint a, bigint b) {
    return a < b || a > b;
}

// 大整数加法
bigint operator+(bigint a, bigint b) {
    bigint res;
    res.clear();
    int t = 0;
    int mx = max(a.size(), b.size());
    for (int i = 0; i < mx || t; i++) {
        if (i < a.size()) {
            t += a[i];
        }
        if (i < b.size()) {
            t += b[i];
        }
        res.push_back(t % 10);
        t /= 10;
    }
    res.trim();
    return res;
}

// 大整数减法
bigint operator-(bigint a, bigint b) {
    bigint res(a);
    bigint sub(b);
    int flag = 0;
    int len = res.size();
    while (sub.size() < res.size())
        sub.push_back(0);
    for (int i = 0; i < len; i++) {
        if (res[i] + flag >= sub[i]) {
            res[i] = res[i] + flag - sub[i];
            flag = 0;
        } else {
            res[i] = res[i] + 10 + flag - sub[i];
            flag = -1;
        }
    }
    res.trim();
    return res;
}

void solve() {
    int n, k;
    cin >> n >> k;
    deb(n, k);
    int avg = n / (k + 1);
    // int lef = n % (k + 1);
    string s;
    cin >> s;
    s = " " + s;
    string infmx;
    for (int i = 0; i < n; i++) infmx += '9';
    // cout << infmx << endl;
    bigint ans(infmx);
    auto cal = [&](vector<int>& len, bigint& res) {
        int cur = 1;
        assert((int)len.size() == (k + 1));
        for (int i = 0; i < k + 1; i++) {
            res = res + bigint(s.substr(cur, len[i]));
            cur += len[i];
        }
        assert(cur == n + 1);
    };
    vector<int> len;
    auto dfs = [&](auto self, int u, int cur, int last, int mx, int mn) {
        if (mx - mn >= 3)
            return;
        if (u == k + 1) {
            bigint res(0);
            if (cur != n + 1)
                return;
            cal(len, res);
            if (res < ans)
                ans = res;
            return;
        }
        if (u == 0) {
            for (int i = max(avg - 2, 1); i <= min(avg + 2, n); i++) {
                len.push_back(i);
                self(self, u + 1, cur + i, i, max(mx, i), min(i, mn));
                len.pop_back();
            }
        } else {
            for (int i = max(last - 1, 1); i <= min(last + 1, n); i++) {
                len.push_back(i);
                self(self, u + 1, cur + i, i, max(mx, i), min(i, mn));
                len.pop_back();
            }
        }
    };
    dfs(dfs, 0, 1, 0, 0, inf);
    cout << ans << endl;
}
signed main() {
    cin.tie(0);
    ios::sync_with_stdio(false);
#ifdef LOCAL
    double starttime = clock();
    // freopen("in.txt", "r", stdin);
    //  freopen("out.txt", "w", stdout);
#endif
    int t = 1;
    cin >> t;
    while (t--) solve();
#ifdef LOCAL
    double endtime = clock();
    cerr << "Time Used: " << (double)(endtime - starttime) / CLOCKS_PER_SEC * 1000 << " ms" << endl;
#endif
    return 0;
}

詳細信息

Test #1:

score: 100
Accepted
time: 0ms
memory: 3628kb

input:

2
8 1
45455151
2 1
42

output:

9696
6

result:

ok 2 lines

Test #2:

score: 0
Accepted
time: 57ms
memory: 4156kb

input:

10
1301 6
56328399613959594774559774218276494124991536454496431869449134772679831477279356599352619469813771742358572734317965823527349354276551857226632977613336815474383422853946661428822284645652423563864641261338984158269966469425994769486371736593879954275146732544891889693921182364554588732946...

output:

2861837555106640794797067737879913860686764066159587941287350938727749577629356630565034353414526438507603808735990935008225192080065174423508575377930722196909797866802717925250679901255
1330897896655974774035586406544907434842835048336411271110427836483063457950873824562288934364096546537492367401...

result:

ok 10 lines

Test #3:

score: 0
Accepted
time: 3ms
memory: 4784kb

input:

3
68312 1
97721793232462295468345161395388245623318759168492992575579675893432997968276399269361852215552871434587866112799189725614696256526239439933158479577223186954475137216722241699568491426254779997896288355965839555276546655174417599498493234323661877664997543475525992228661739933395881544363...

output:

165361439370989969611281150911906045608758081895436745302721903170895741831200164992289491213814537683869854746077326282091529052307364873668669947061960472772133388934416763345394409983809105665214082485429685401199520114459892594221344388768178495952936142426649338494017013932243993161711816767032...

result:

ok 3 lines

Test #4:

score: 0
Accepted
time: 3ms
memory: 4752kb

input:

3
104062 2
6586987777965872861989232258194733262765989634859654379877935579528781688159322513128986886481716832258115626748535521126479244461411522889744479186513298679746684345233214226141199846787117661159318966767135455745184384324833645134232699525177668629239933843658643667417337451334591594819...

output:

536246497591460214899497073157707308719964754106858053886979792537707870310253164299747153718261114131636990130350872742851787818427135113617679220183754863021102973854172956224432906133335696002890140207617299467927865340000078212572980076032917286214327823207585568582552662612028254042515906063023...

result:

ok 3 lines

Test #5:

score: 0
Accepted
time: 10ms
memory: 5328kb

input:

3
139639 3
6796297676823528648589397343663999328612414278384367347213637689464348185237425534836886677731351726963453579377613988437426483671299519186839344132333793569544718489728294346989818592279444871423953477919473799463194216678119582972131632322347549538925164854516141164554772823372476647126...

output:

126364763403906564661708542497996384758493064461499142133308596067494936258655259133526434841726196274703766844552726915088706942994746309192813887599486034682622494344506129054929148805249803660505979746418821689885230718372401950523582639142168746487771785553740446005221635828358569536474437471762...

result:

ok 3 lines

Test #6:

score: 0
Accepted
time: 14ms
memory: 4648kb

input:

3
74882 4
34214651312364628656844245717387533432968776973534628295922991352118459564756246556257779312918116552177726519173345828839532314119892538422953191411989526818837499574837984599131437923829691932871927272598159916936847255554115731624229194141184295327556843698221845942155322267254877729895...

output:

652879872016718790343280470756061301445687203441680798826476501917145925778781111109343489062160438478188515389826291555084101569285971285993846457561557667210690487169933469816410296697081463378678731150633158904900018680809858404118923436246875692603950100371337341615443319224405626522868813204392...

result:

ok 3 lines

Test #7:

score: 0
Accepted
time: 26ms
memory: 5716kb

input:

3
191014 5
4625226525489118654543959629348153444699986242632464847423452621546972849227817733763237372239335981427166568676892839618898764121637356149689834276433852165285729163339388526992792556894792278543347578452353389831593643818698478199319882191378795871195868331188637941453446682259469316457...

output:

183433830723962716661960230479245454318025962759914611110498608412928382555357890844482989235397326332530009244441167586569039863115637789245293728629736732433450983262080427109116060046615860768206472546822403232142108561871987242547562597599614404577271199268661821460539766659678709433633532926618...

result:

ok 3 lines

Test #8:

score: 0
Accepted
time: 55ms
memory: 4888kb

input:

3
89585 6
94845874282137954862385693488638122989575112616926699152984211114725742468459969145259337775618857796224956393949274481244989438351268853962294993267143851959948416128442795399969913525879669463929768397987966315181534158658746641933973131881592663842895938779816214825692812493134824556695...

output:

299751945436714405327965382630641151220078087436306886008455290218867774598033154703298350470955635925864103042961309005090519862571207481236797905629359014249368432851738777659221783920211895526401428737190140639519448861544949137222152380658013492841793431645174714140875875011098436373161645837902...

result:

ok 3 lines

Test #9:

score: 0
Accepted
time: 7ms
memory: 3724kb

input:

1000
438 1
2517849689325865499132114642336162462526229452777943938182992956383698881134842963395515712949251433652761697475196628342214595685672144112568956575717136898856177694197933946755524666375993512634793331951161492287212454971511815257823292342711659258415167759313776646368654965574417395231...

output:

748936150458368879147482630159457763028554322942431259314856737377893084493327951133306407733863814927410043574237076571833145300484875759606530375804038146070837054761731126648297282834150805998661305332252023826677983
91742211464580719040769832120828477315449383443456839582655398455396278130875002...

result:

ok 1000 lines

Test #10:

score: 0
Accepted
time: 6ms
memory: 3696kb

input:

1000
84 2
966932289765425941985736948627128913324775123274122997916444286764739984266379596918
70 2
5331446293763416152151916485841778781581747798477137375944877329687691
9 2
634624591
814 2
1988645967814683323112433424295394438122288481686898542983777796753686147185684924621213554165142457245886757...

output:

18826500994871756013649266195
295310256670327308687194
1849
284825795169730623800202989098038033639343406140577208629162918151307022180084222616119982223024776344842017851725895275795084612484054272282348654966167150019465644108270898181205721199473080438042040896310370198851400852136186082174700276...

result:

ok 1000 lines

Test #11:

score: 0
Accepted
time: 18ms
memory: 3700kb

input:

1000
339 3
9163225412581255315266828923167711137296521138867213374363794548283572234447976575396136427848756366754713547897594499817281488658226795963345311956629297357965219254498864379562223818165453699818569782568512899896568369453633434563347531526352315344759793546252139786416256297532237728985...

output:

17320085336505381033402042979863864748728993071457871710902369621896971390566049928087
303414409729053513885481240687
17597270
15669
1283838053980036200051841389000892463151272030330831803493589
1560322045162299829921416791329484329527
4243531807036148642992251191455715323698841515530953264341379464...

result:

ok 1000 lines

Test #12:

score: 0
Accepted
time: 38ms
memory: 3648kb

input:

1000
138 4
484962586115279453369996194457342634952357271168328178643276864673769897191563579592486195296811317555573934449368611989129724634563816994
72 4
128332513898356243222125494995361845213718227422737651848258755993533754
509 4
157277971115829627944882928415913969371873221184118644471116597521...

output:

12240882688956884074347387382
492451909770639
822679326774387887159074589000615958812996169576626138719408594959416426185390946590163427112055727430
2240348806954907408
55289
31
6638966544983086450404
954908126261241071739251557216722850148689367943722917283856526
12389004424425085081876044746137529...

result:

ok 1000 lines

Test #13:

score: 0
Accepted
time: 88ms
memory: 3692kb

input:

1000
89 5
69438349821299168772632819791716137437477522198815899846141116897952323821244348732925449
49 5
5889925976819593156543537943511758299922491265356
351 5
4343528429373426946213764569798664427197417764112565896631832479923611211154524299924577328382895753939939933785586437523111528231833146826...

output:

1514411005214023
560878144
139280935595065268997619636165098315240696582009977469076204
100547742592864930626563
9976094391917762591160786
1072095014047438838739191375073941680553329306387310764240430581213284
2211788963204
10209378342191121234432686989131231741183
1420668185218211968876440875464556...

result:

ok 1000 lines

Test #14:

score: 0
Accepted
time: 206ms
memory: 3624kb

input:

1000
43 6
5844292497766536592888266559658669254549127
272 6
875767433578519253929757343897994239529777881897369786622734168564232875831663914511692767612286671657191831587116255734916311975566368414384247326542724246269965337592948152923859139638134518832561879968791791589126584487321631197726734325...

output:

6154169
3475115553294555872638317955874434650553
616620918284089103050758938345
8490
102
113474518346149619428778073821
561994771146339673227
13181323305424
16397269870357232236304815
2417817012
33101632846121096516591083297513852011
172328683555
220056612922104204636364423396993576
28
7378221003505...

result:

ok 1000 lines

Test #15:

score: 0
Accepted
time: 13ms
memory: 3912kb

input:

5000
12 1
183744912679
18 1
761155564586681444
47 1
96574485488841781274987872443894375593438622576
29 1
51313747855158576267169387271
81 1
443653483264685831272245613499285318249166725564992136793163851135234493345145749
25 1
3288249984449175593731761
11 1
55525197952
6 1
411919
16 1
11326467161667...

output:

1096423
1347837008
969018379864435219897563
589404647938856
51090913318605376291075696584421876970665
3463843716210
253477
1330
27493252
1113803147703908
3900467273288018945633
6414811
50867237
55115144
70546019964924451128720417
793648429077032195922502111435
5
258143
966891654415068913735563
17579...

result:

ok 5000 lines

Test #16:

score: 0
Accepted
time: 22ms
memory: 3940kb

input:

5000
46 2
8212536675169511928961832612298422182429982464
51 2
861148619886856437488181241332554422968528819973893
4 2
3478
6 2
879938
4 2
4714
42 2
926931759457489733744881718485756424443968
32 2
25677341219183874425744698698371
66 2
177983781813781498444255447929914195199314318937366452745281852376...

output:

3172397930111713
183965203221985080
49
224
25
275787049206900
48763482164
16261997262302616768249
19982325224508007193801238310
3174913023088372107514
25920596635487108195032039843057883132334
11396
2112880777743110
185911568274330818493851890118
371944516940049144759
61418792795891
1460800892
14558...

result:

ok 5000 lines

Test #17:

score: 0
Accepted
time: 47ms
memory: 3912kb

input:

5000
28 3
4621928549729124473993183163
8 3
88792768
61 3
5153158356272173598747354647267326426331162898159415114172265
11 3
65462892826
51 3
369294122593518362511529514656795562664363252184119
65 3
12239314591558374322575335722353798719534141487341259932879618584
40 3
7857535932272596919376668891218...

output:

15749781
262
4599904635609647
2200
9705498081615
26596954242549229
25342372992
148388
188
3768
200641448966329161285539157109537707149246808740363170468738300
2335688219000854660582
16889216521836982723
2518572624737948
132008
433503556
3188407173368256
49
312656639703304897787324542328105038052
300...

result:

ok 5000 lines

Test #18:

score: 0
Accepted
time: 110ms
memory: 3644kb

input:

5000
41 4
35484512232546673623581937481298218847529
55 4
8242163441243471272492482949448942949882934236597688943
54 4
563562916327834173784336895782276221993223255832511687
72 4
763787315393874816486711266437185871527211769152552286626589741378637764
41 4
13148917525427757834324873525661232615915
10...

output:

351303825
240284370083
185211825093
1155296244848558
308221946
240
2597010559
3600018779767076
276
19730979737419711
16973217397294714
85163714356647814002
219
1534833234346314081494847671843968960194902
14173
13915
40
365840279
10
298882042
242584
27637391201921
74
20
2811235961
119826285101507
266...

result:

ok 5000 lines

Test #19:

score: 0
Accepted
time: 256ms
memory: 3696kb

input:

5000
9 5
177349241
14 5
77815488298414
40 5
3195118464719744127363963845431832127416
24 5
615126783657653551564815
10 5
8677674114
32 5
66565433529366965737728562577462
12 5
793517957977
39 5
556474596788562748452744137867656197117
43 5
4745732661562535351532784948531247997983954
38 5
52615779393999...

output:

92
1012
14714201
28992
204
957254
382
16227333
53854748
10297320
153
968
90
64
162045154388
43532
248773077397
253
100296
10260
404527405284009430805773441
6563606
826388
713
154574571372
23
6838
1528981717
4609713
1095854775000
16969765
67
36
1237259346025838017041693
3686780
7936
4357
125366
56229...

result:

ok 5000 lines

Test #20:

score: 0
Accepted
time: 615ms
memory: 3632kb

input:

5000
81 6
754687899122417859346152515668258477537711784897898938645364555354786193129462774
7 6
6257755
25 6
6342845171864536923737254
67 6
7422648166646588394778464634715795861296556284389963227542898744682
34 6
9574119846617489672849857197171986
27 6
456563562193229267786466569
39 6
29873173624595...

output:

1299782424427
37
13525
20803460463
334823
29219
1225424
16624
204
704559366
134527039
119
353
2179
6095
924
64
8353712
379
81889
18784706556007706024780002441
20212
166
4290117
60016693
461
44
230
74930210162165530
166044
3836063
6573650978082236740001
1314
77327
38802544
727088987
1272
831480265642...

result:

ok 5000 lines

Test #21:

score: 0
Accepted
time: 234ms
memory: 3616kb

input:

20000
5 4
45355
22 4
1587489983773162197956
9 4
368653813
8 4
99914465
5 4
66444
8 4
39224749
6 4
674571
6 4
528349
5 4
53496
6 4
324574
8 4
24824972
5 4
85787
18 4
552861362561966773
7 4
3143232
5 4
76795
7 4
5215948
6 4
763794
12 4
278788685938
7 4
6358446
12 4
178792248272
6 4
523699
5 4
28869
10...

output:

22
52820
160
173
24
121
66
49
27
43
137
35
14659
45
34
79
63
1231
99
599
52
33
359
19
74
193
82
177
21
34
3103
949
72
32
1375
22
240
350
22
580
314
3152
17241
125
27821
45
213
12022
89
115
4335
688078
197
19
101612
7619
84
23
59
69
1267
161
3745
33092
102
4636
58
227
62
77
3075
30
94
1385238
41682
2...

result:

ok 20000 lines

Test #22:

score: 0
Accepted
time: 485ms
memory: 3664kb

input:

20000
16 5
5237537693778188
9 5
445935661
7 5
1689432
6 5
293798
7 5
3192321
9 5
886726528
7 5
6971515
8 5
83381492
8 5
81422441
6 5
253726
6 5
733781
9 5
747778477
6 5
799245
6 5
844949
7 5
7584613
12 5
286295278464
12 5
752838846198
29 5
72283538276773662819377612921
9 5
149976512
6 5
871418
6 5
5...

output:

1862
151
42
38
30
142
43
74
53
25
29
193
36
38
43
360
384
273362
116
29
31
34
202
327
225
36
197
181
93
260
336
32
676
36
37
89
485
54
280
11061
978
112
40
400
42
156
158
25
68
412
30
23537
54
54
296
430
48
32
237
47104
110
25
186
286
2370
199
50
49
37
16
13722
4284
862
147
614
37
85
315
335
732
56
...

result:

ok 20000 lines

Test #23:

score: 0
Accepted
time: 972ms
memory: 3632kb

input:

20000
8 6
14191146
9 6
265591839
10 6
7333496958
7 6
9276593
21 6
898475263978241823989
15 6
835899945145598
9 6
878321716
7 6
4285391
8 6
42872131
12 6
219293972115
9 6
798517396
10 6
3929468537
17 6
86848669378932128
15 6
598621375466726
11 6
76879267192
8 6
15473735
8 6
96265647
8 6
14397167
9 6
...

output:

36
75
156
41
4667
938
61
32
37
132
91
128
1709
572
208
44
63
47
43
39
76
39
37
78
31
376
152
63
35
402
81
685
1601
76
120
38
44
63
708
35
64
330
86
105
31
41
44
52
129
34
6208
163
261
213
33
387
83
41
147
38
37
46
33
1674
32
37
62
59
443
408
46
441
161
64
49
49
69
25
41
80
78
410
2596
36
43
74
1337
...

result:

ok 20000 lines

Test #24:

score: 0
Accepted
time: 231ms
memory: 3600kb

input:

19999
11 4
48555779734
14 4
98178469766899
9 4
916763213
15 4
373989987467949
7 4
6618649
7 4
5846748
14 4
47716256769463
5 4
88451
5 4
31224
13 4
3214751554729
5 4
54176
5 4
71337
11 4
52958663473
7 4
4546654
17 4
41622496776664259
8 4
66769674
9 4
361449767
9 4
879192984
11 4
99929333649
9 4
38918...

output:

748
2410
146
3765
85
114
1738
26
12
1027
23
21
760
106
8267
213
173
219
669
185
7558
1336
454
71
60
205
137
44
171
24
37
30
873
247
14046
54
41
212
104
504
23
287
366
96
33
112
1399
40
27
15
120
161
135
35
26
34
31
118
7727
52329
36
15
10059
70
23
38
35
33
3620
13257
38
101
63182
5890
2215
115
37
10...

result:

ok 19999 lines

Test #25:

score: 0
Accepted
time: 484ms
memory: 3864kb

input:

19999
11 5
51564393383
11 5
71767659854
13 5
6963898747868
8 5
24595765
7 5
4829334
15 5
734285429534939
8 5
11177918
7 5
1424234
6 5
338721
10 5
3264766349
12 5
475949323591
9 5
194831466
7 5
7829114
6 5
183946
7 5
2216417
14 5
54296196188236
25 5
5692592536317881546849214
8 5
47256729
9 5
24813174...

output:

239
308
854
106
51
1238
53
29
24
185
313
96
41
31
32
664
70647
78
71
2283
88
122
3000
214
295
817
46
23
89
62
37
26
183
30
30
3706
46
309
48
79
42
1596
1659
27
18
37
348
84
72
157
243
445
16
204
213
338
45
252
43
42
93
1722
2524
53
13835
137
1854
78
44
75
121
157911
152
136
39
32
1034
277
414
229
35...

result:

ok 19999 lines

Test #26:

score: 0
Accepted
time: 988ms
memory: 3608kb

input:

19999
13 6
2998126859579
10 6
5953817962
8 6
18574357
15 6
529242498697654
9 6
794317476
10 6
5371942243
7 6
5432682
7 6
1762248
8 6
16381814
9 6
652974216
7 6
5588879
11 6
97218117457
7 6
3992221
8 6
84395819
8 6
24583857
25 6
6792499238982119984386762
13 6
7275488982914
8 6
94369839
20 6
266384332...

output:

332
136
49
865
93
94
30
30
41
69
50
169
28
56
60
13534
317
78
3007
96
249
75
410
294
172
66
139
125
28
204
33
188
39
68
97
67
96
43
31
54
123
125
67
96
118
167
180
35
39
85
45
53
96
65
77
56
224
30
252
190
43
5175
266
62
71
24
21
37
37
1298
89
42
59
92
50
221
37
29
106
57
36
49
152
33
93
35
107
1105...

result:

ok 19999 lines

Test #27:

score: 0
Accepted
time: 232ms
memory: 3656kb

input:

19998
6 4
616476
13 4
6277851739498
8 4
79252498
6 4
132226
7 4
9412576
16 4
8482257282191275
8 4
86428591
9 4
461312869
15 4
354558174316983
11 4
63622568361
5 4
33581
13 4
5246247968278
9 4
591432246
19 4
9895163673883299854
17 4
61772823921667915
5 4
85481
5 4
95837
8 4
14724866
10 4
7325829415
9...

output:

39
1714
145
25
88
3295
160
148
2385
525
20
1339
135
23072
6319
26
32
119
289
191
253
199
151
29
182
690117
99
274
202
92
3123
479
1441
29
945
596
354
135
21
33
150
29
2569
501
15
15
8116
14632
46
21
373
58
70
98
52
478
42
2641
25
1318
75
18
589
9243
1542
601
125
131
23
679
266
685
147
24
105004
185
...

result:

ok 19998 lines

Test #28:

score: 0
Accepted
time: 484ms
memory: 3636kb

input:

19998
7 5
7823426
10 5
3662669432
6 5
612968
9 5
349831431
12 5
283971764147
13 5
3751737781665
6 5
573373
31 5
2327781617126857635339117485248
9 5
616531673
6 5
591729
8 5
73549875
9 5
484434466
8 5
64372952
9 5
212473769
7 5
3851678
6 5
117851
6 5
517775
10 5
8568121972
8 5
27597524
9 5
589225555
...

output:

50
173
32
99
302
588
28
471706
101
33
111
142
83
104
47
23
32
175
77
154
107
99
42
286
63
233
288
74
52
86
3626
150
211
100
1327
22
69
131
44
78
136
33
706
24
692
119
143
70
308
52
28
50
42
72
31
349
47
50
28
72
95
40
121
19
3588
44
26
161
171
406
767
54
20
1112
31
93
110
492
2163
106
117
373
69
305...

result:

ok 19998 lines

Test #29:

score: 0
Accepted
time: 977ms
memory: 3608kb

input:

19998
7 6
2612588
14 6
97255527762967
7 6
1828692
7 6
5649585
8 6
67632626
11 6
29314811145
11 6
92438582196
14 6
34137457676194
7 6
7383418
8 6
48216362
8 6
53925298
8 6
75292969
10 6
4638821645
8 6
36363678
7 6
4436974
7 6
1565998
7 6
2466927
13 6
6455934419847
7 6
9534918
7 6
8313721
11 6
9677163...

output:

32
376
36
42
56
84
156
391
34
41
61
67
119
69
37
43
36
330
39
25
170
79
39
66
218
396
173
178
307
152
35
317
32
48
60
449
124
1811
105
69
36
56
38
42
24
22
78
42
57
99
38
34
4029
87
25
44
396
55
73
351
52
285
303
253
33
618
283
149
25
76
40
76
1422
26
60
45
296
509
342
73
42
40
7447
89
938
93
88
60
...

result:

ok 19998 lines

Test #30:

score: 0
Accepted
time: 227ms
memory: 3700kb

input:

20000
5 4
44444
22 4
5555555555555555555555
9 4
333333333
8 4
55555555
5 4
55555
8 4
11111111
6 4
555555
6 4
888888
5 4
77777
6 4
444444
8 4
88888888
5 4
99999
18 4
999999999999999999
7 4
8888888
5 4
33333
7 4
7777777
6 4
777777
12 4
333333333333
7 4
1111111
12 4
666666666666
6 4
222222
5 4
11111
10...

output:

20
127775
135
175
25
35
75
120
35
60
280
45
31995
200
15
175
105
765
25
1530
30
5
495
35
315
175
150
135
30
40
3330
1275
105
40
355
15
405
1395
45
155
620
2220
21330
175
33330
90
220
10220
100
75
13995
711110
110
20
248885
6220
225
30
105
100
1275
245
555
77775
50
12440
45
180
135
75
1665
20
405
273...

result:

ok 20000 lines

Test #31:

score: 0
Accepted
time: 478ms
memory: 3596kb

input:

20000
16 5
5555555555555555
9 5
222222222
7 5
3333333
6 5
777777
7 5
5555555
9 5
333333333
7 5
7777777
8 5
66666666
8 5
99999999
6 5
333333
6 5
777777
9 5
777777777
6 5
888888
6 5
111111
7 5
8888888
12 5
888888888888
12 5
444444444444
29 5
44444444444444444444444444444
9 5
555555555
6 5
999999
6 5
3...

output:

2330
72
48
42
80
108
112
156
234
18
42
252
48
6
128
528
264
226664
180
54
18
30
336
396
56
6
276
368
324
224
198
12
332
144
48
182
1494
288
198
2666
2394
72
18
132
16
368
208
36
112
132
36
33330
52
128
336
1494
182
16
280
16666
180
48
168
198
5328
46
64
144
12
48
3666
2664
732
72
1064
24
36
112
330
...

result:

ok 20000 lines

Test #32:

score: 0
Accepted
time: 967ms
memory: 3700kb

input:

20000
8 6
11111111
9 6
444444444
10 6
1111111111
7 6
9999999
21 6
111111111111111111111
15 6
111111111111111
9 6
444444444
7 6
6666666
8 6
22222222
12 6
666666666666
9 6
555555555
10 6
5555555555
17 6
99999999999999999
15 6
111111111111111
11 6
88888888888
8 6
33333333
8 6
99999999
8 6
77777777
9 6
...

output:

17
108
37
63
777
177
108
42
34
342
135
185
3393
177
376
51
153
119
81
21
51
28
63
222
63
385
296
153
14
469
102
1385
4293
51
296
153
136
68
1939
85
34
462
81
243
49
136
14
68
37
56
3554
171
603
376
63
536
51
85
536
63
63
153
28
2385
7
28
135
85
693
1416
56
1239
296
81
34
17
189
7
102
108
54
616
3385...

result:

ok 20000 lines

Test #33:

score: 0
Accepted
time: 38ms
memory: 3644kb

input:

1000
138 4
444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444
72 4
888888888888888888888888888888888888888888888888888888888888888888888888
509 4
444444444444444444444444444444444444444444444444444444444444444444...

output:

14222222222222222222222222220
2044444444444440
1822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222220
4099999999999999995
93330
30
7777777777777777777775
2844444444444444444444444444444444444444444444444444444444444440
21333333333333333333333333333333...

result:

ok 1000 lines

Test #34:

score: 0
Accepted
time: 88ms
memory: 3684kb

input:

1000
89 5
66666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
49 5
9999999999999999999999999999999999999999999999999
351 5
4444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444...

output:

3399999999999996
1499999994
146666666666666666666666666666666666666666666666666666666664
79999999999999999999998
29333333333333333333333328
1399999999999999999999999999999999999999999999999999999999999999999998
2266666666664
23999999999999999999999999999999999999994
373333333333333333333333333333333...

result:

ok 1000 lines

Test #35:

score: 0
Accepted
time: 208ms
memory: 3756kb

input:

1000
43 6
5555555555555555555555555555555555555555555
272 6
888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888...

output:

8888885
5422222222222222222222222222222222222216
711111111111111111111111111108
11108
74
339999999999999999999999999993
355555555555555555554
19111111111108
42999999999999999999999993
4744444439
47444444444444444444444444444444444439
286666666662
346666666666666666666666666666666662
35
8333333333333...

result:

ok 1000 lines

Test #36:

score: 0
Accepted
time: 14ms
memory: 4944kb

input:

3
74882 4
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333...

output:

766666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666...

result:

ok 3 lines

Test #37:

score: 0
Accepted
time: 26ms
memory: 5676kb

input:

3
191014 5
4444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444...

output:

186666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666...

result:

ok 3 lines

Test #38:

score: 0
Accepted
time: 56ms
memory: 4936kb

input:

3
89585 6
99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999...

output:

609999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999...

result:

ok 3 lines

Test #39:

score: 0
Accepted
time: 26ms
memory: 3860kb

input:

16380
2 1
99
2 1
19
2 1
91
2 1
11
3 1
999
3 1
199
3 1
919
3 1
119
3 1
991
3 1
191
3 1
911
3 1
111
4 1
9999
4 1
1999
4 1
9199
4 1
1199
4 1
9919
4 1
1919
4 1
9119
4 1
1119
4 1
9991
4 1
1991
4 1
9191
4 1
1191
4 1
9911
4 1
1911
4 1
9111
4 1
1111
5 1
99999
5 1
19999
5 1
91999
5 1
11999
5 1
99199
5 1
1919...

output:

18
10
10
2
108
28
28
20
100
20
20
12
198
118
190
110
118
38
110
30
190
110
182
102
110
30
102
22
1098
298
1018
218
298
218
290
210
1018
218
938
138
218
138
210
130
1090
290
1010
210
290
210
282
202
1010
210
930
130
210
130
202
122
1998
1198
1918
1118
1990
1190
1910
1110
1198
398
1118
318
1190
390
11...

result:

ok 16380 lines

Test #40:

score: 0
Accepted
time: 51ms
memory: 3664kb

input:

16380
2 1
99
2 1
19
2 1
91
2 1
11
3 2
999
3 2
199
3 2
919
3 2
119
3 2
991
3 2
191
3 2
911
3 2
111
4 2
9999
4 2
1999
4 2
9199
4 2
1199
4 2
9919
4 2
1919
4 2
9119
4 2
1119
4 2
9991
4 2
1991
4 2
9191
4 2
1191
4 2
9911
4 2
1911
4 2
9111
4 2
1111
5 2
99999
5 2
19999
5 2
91999
5 2
11999
5 2
99199
5 2
1919...

output:

18
10
10
2
27
19
19
11
19
11
11
3
117
37
37
29
37
29
29
21
109
29
29
21
29
21
21
13
207
127
127
119
127
47
119
39
127
47
47
39
119
39
39
31
199
119
119
111
119
39
111
31
119
39
39
31
111
31
31
23
297
217
289
209
217
137
209
129
289
209
227
147
209
129
201
121
217
137
209
129
137
57
129
49
209
129
14...

result:

ok 16380 lines

Test #41:

score: 0
Accepted
time: 110ms
memory: 3668kb

input:

16380
2 1
99
2 1
19
2 1
91
2 1
11
3 2
999
3 2
199
3 2
919
3 2
119
3 2
991
3 2
191
3 2
911
3 2
111
4 3
9999
4 3
1999
4 3
9199
4 3
1199
4 3
9919
4 3
1919
4 3
9119
4 3
1119
4 3
9991
4 3
1991
4 3
9191
4 3
1191
4 3
9911
4 3
1911
4 3
9111
4 3
1111
5 3
99999
5 3
19999
5 3
91999
5 3
11999
5 3
99199
5 3
1919...

output:

18
10
10
2
27
19
19
11
19
11
11
3
36
28
28
20
28
20
20
12
28
20
20
12
20
12
12
4
126
46
46
38
46
38
38
30
46
38
38
30
38
30
30
22
118
38
38
30
38
30
30
22
38
30
30
22
30
22
22
14
216
136
136
128
136
56
128
48
136
56
56
48
128
48
48
40
136
56
56
48
56
48
48
40
128
48
48
40
48
40
40
32
208
128
128
120...

result:

ok 16380 lines

Test #42:

score: 0
Accepted
time: 231ms
memory: 3608kb

input:

16380
2 1
99
2 1
19
2 1
91
2 1
11
3 2
999
3 2
199
3 2
919
3 2
119
3 2
991
3 2
191
3 2
911
3 2
111
4 3
9999
4 3
1999
4 3
9199
4 3
1199
4 3
9919
4 3
1919
4 3
9119
4 3
1119
4 3
9991
4 3
1991
4 3
9191
4 3
1191
4 3
9911
4 3
1911
4 3
9111
4 3
1111
5 4
99999
5 4
19999
5 4
91999
5 4
11999
5 4
99199
5 4
1919...

output:

18
10
10
2
27
19
19
11
19
11
11
3
36
28
28
20
28
20
20
12
28
20
20
12
20
12
12
4
45
37
37
29
37
29
29
21
37
29
29
21
29
21
21
13
37
29
29
21
29
21
21
13
29
21
21
13
21
13
13
5
135
55
55
47
55
47
47
39
55
47
47
39
47
39
39
31
55
47
47
39
47
39
39
31
47
39
39
31
39
31
31
23
127
47
47
39
47
39
39
31
47...

result:

ok 16380 lines

Test #43:

score: 0
Accepted
time: 592ms
memory: 3660kb

input:

16380
2 1
99
2 1
19
2 1
91
2 1
11
3 2
999
3 2
199
3 2
919
3 2
119
3 2
991
3 2
191
3 2
911
3 2
111
4 3
9999
4 3
1999
4 3
9199
4 3
1199
4 3
9919
4 3
1919
4 3
9119
4 3
1119
4 3
9991
4 3
1991
4 3
9191
4 3
1191
4 3
9911
4 3
1911
4 3
9111
4 3
1111
5 4
99999
5 4
19999
5 4
91999
5 4
11999
5 4
99199
5 4
1919...

output:

18
10
10
2
27
19
19
11
19
11
11
3
36
28
28
20
28
20
20
12
28
20
20
12
20
12
12
4
45
37
37
29
37
29
29
21
37
29
29
21
29
21
21
13
37
29
29
21
29
21
21
13
29
21
21
13
21
13
13
5
54
46
46
38
46
38
38
30
46
38
38
30
38
30
30
22
46
38
38
30
38
30
30
22
38
30
30
22
30
22
22
14
46
38
38
30
38
30
30
22
38
3...

result:

ok 16380 lines

Test #44:

score: -100
Time Limit Exceeded

input:

16380
2 1
99
2 1
19
2 1
91
2 1
11
3 2
999
3 2
199
3 2
919
3 2
119
3 2
991
3 2
191
3 2
911
3 2
111
4 3
9999
4 3
1999
4 3
9199
4 3
1199
4 3
9919
4 3
1919
4 3
9119
4 3
1119
4 3
9991
4 3
1991
4 3
9191
4 3
1191
4 3
9911
4 3
1911
4 3
9111
4 3
1111
5 4
99999
5 4
19999
5 4
91999
5 4
11999
5 4
99199
5 4
1919...

output:

18
10
10
2
27
19
19
11
19
11
11
3
36
28
28
20
28
20
20
12
28
20
20
12
20
12
12
4
45
37
37
29
37
29
29
21
37
29
29
21
29
21
21
13
37
29
29
21
29
21
21
13
29
21
21
13
21
13
13
5
54
46
46
38
46
38
38
30
46
38
38
30
38
30
30
22
46
38
38
30
38
30
30
22
38
30
30
22
30
22
22
14
46
38
38
30
38
30
30
22
38
3...

result: