QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#960727#1137. Packing BiscuitsWansur#12 1ms4096kbC++231.4kb2025-04-01 18:28:522025-04-01 18:28:57

Judging History

This is the latest submission verdict.

  • [2025-04-01 18:28:57]
  • Judged
  • Verdict: 12
  • Time: 1ms
  • Memory: 4096kb
  • [2025-04-01 18:28:52]
  • Submitted

answer

#include "biscuits.h"
#include <bits/stdc++.h>
#define ent '\n'

using namespace std;
typedef long long ll;

ll dp[71], mx[71];
ll a[71];
ll n, k;

ll get(int i, ll val, int pos) {
    if(val < 0) return 0;
    if(i < 0) return 1;
    ll ans = 0;
    if(val >= (1ll << i) * n && mx[i] >= (1ll << i)) {
        if(!i) ans++;
        else ans += dp[i - 1];
        mx[pos] += (1ll << i);
        val = min(val, mx[i]);
        ans += get(i - 1, val - (1ll << i), pos);
    }
    else ans += get(i - 1, val, pos);
    return ans;
}

long long count_tastiness(long long x, vector<long long> A) {
    while(!A.empty() && A.back() == 0) A.pop_back();
    if(A.empty()) return 1;
    n = x, k = (int)A.size();
    for(int i = 0; i < 70; i++) {
        a[i] = 0;
        dp[i] = mx[i] = 0;
    }
    for(int i = 0; i < k; i++) {
        a[i] = A[i];
    }
    vector<ll> ans = {0};
    ll sum = 0, cur = 1, cmx = 0;
    for(int i = 0; i < 61; i++) {
        int sz = (int)ans.size();
        sum += (a[i] << i);
        if((1ll << i) * n > (ll)1e18) {
            break;
        }
        if(sum - (1ll << i) * n < 0) {
            dp[i] = cur;
            mx[i] = cmx;
        }
        else {
            mx[i] = (1ll << i);
            dp[i] = cur + get(i - 1, sum - (1ll << i) * n, i);
            cur = dp[i];
            cmx = mx[i];
        }
    }
    return cur;
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 0
Wrong Answer

Test #1:

score: 9
Accepted
time: 1ms
memory: 3840kb

input:

1b32a07d5f5fc55f21038b12a3655e
10
1 1
0
1 1
5
1 1
18
1 1
2664
1 1
97853
2 1
0 4663
3 1
0 0 1567
10 1
0 0 0 0 0 0 0 0 0 97
15 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
60 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

output:

23b69acd873f5d7e892bae7de83615
OK
1
6
19
2665
97854
4664
1568
98
2
1

result:

ok 12 lines

Test #2:

score: 9
Accepted
time: 1ms
memory: 3840kb

input:

1b32a07d5f5fc55f21038b12a3655e
10
1 1000000000000000000
0
54 1234568987654321
9 6 10 8 9 10 8 8 9 9 9 11 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24 23456789876543
9 9 10 8 9 9 9 8 8 7 9 10 13 0 0 0 0 0 0 0 0 0 0 0
33 26646465456
10 8 10 8 8 7 10 10 8 9 9 ...

output:

23b69acd873f5d7e892bae7de83615
OK
1
1
1
1
1
1
1
1
1
1

result:

ok 12 lines

Test #3:

score: 0
Wrong Answer
time: 0ms
memory: 3968kb

input:

1b32a07d5f5fc55f21038b12a3655e
10
1 74
6025
1 10
8084
1 97
65719
1 58
12207
1 63
34166
1 43
27843
1 90
7392
1 68
14984
1 21
14498
1 78
42207

output:

23b69acd873f5d7e892bae7de83615
OK
46
250
198
88
157
200
46
88
203
156

result:

wrong answer 3rd lines differ - expected: '82', found: '46'

Subtask #2:

score: 12
Accepted

Test #15:

score: 12
Accepted
time: 0ms
memory: 3840kb

input:

1b32a07d5f5fc55f21038b12a3655e
10
1 1
0
1 1
5
1 1
18
1 1
2664
1 1
97853
2 1
0 4663
3 1
0 0 1567
10 1
0 0 0 0 0 0 0 0 0 97
15 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
60 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

output:

23b69acd873f5d7e892bae7de83615
OK
1
6
19
2665
97854
4664
1568
98
2
1

result:

ok 12 lines

Test #16:

score: 12
Accepted
time: 0ms
memory: 3968kb

input:

1b32a07d5f5fc55f21038b12a3655e
6
1 1
1257943
1 1
134678868
1 1
347896327953278421
3 1
1 1 1
58 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
58 1
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 ...

output:

23b69acd873f5d7e892bae7de83615
OK
1257944
134678869
347896327953278422
8
288230376151711744
576460752303423487

result:

ok 8 lines

Test #17:

score: 12
Accepted
time: 0ms
memory: 3840kb

input:

1b32a07d5f5fc55f21038b12a3655e
10
1 1
641321814551792698
1 1
369073548682397386
1 1
373935581015582302
1 1
823673501216092705
1 1
873451407556263361
1 1
924009728289315860
1 1
936367476321936498
1 1
172235384698603373
1 1
931452265312067782
1 1
224426797306387086

output:

23b69acd873f5d7e892bae7de83615
OK
641321814551792699
369073548682397387
373935581015582303
823673501216092706
873451407556263362
924009728289315861
936367476321936499
172235384698603374
931452265312067783
224426797306387087

result:

ok 12 lines

Test #18:

score: 12
Accepted
time: 0ms
memory: 3968kb

input:

1b32a07d5f5fc55f21038b12a3655e
10
10 1
203211224492823 39432030040095 39754686208904 15450673715824 23563262427208 14235501062016 1539479880914 2485308418318 2220368113238 1152386248806
10 1
250480888504087 20076792632810 64230199491879 877512004833 6942934256530 8363208860451 8400066952954 30467123...

output:

23b69acd873f5d7e892bae7de83615
OK
2972329838255862
2194039246290192
2531791991212915
2292160442598106
2920300872054479
1549123827180544
2263972444002788
2536709934306482
1398542474603334
1993022168128599

result:

ok 12 lines

Test #19:

score: 12
Accepted
time: 1ms
memory: 3840kb

input:

1b32a07d5f5fc55f21038b12a3655e
10
20 1
81372274120603 138723349696093 29920974152629 24167376582545 14293634772434 2484485489492 2234244925906 1292565979160 1693672406219 920995710728 13525437037 284264117615 180355360221 145903588936 54365717610 32506954868 7657853982 13405858595 9200869476 3925003...

output:

23b69acd873f5d7e892bae7de83615
OK
13408313142533842
13750492222774039
12515796748346403
15067383052131377
11116855724256228
10393308353078317
7005121034783183
13672934982967704
11932797596477308
13770611072223314

result:

ok 12 lines

Test #20:

score: 12
Accepted
time: 0ms
memory: 3840kb

input:

1b32a07d5f5fc55f21038b12a3655e
10
60 1
96387316482699 103082951515217 57960684308351 41640683332778 4544881034624 11040591426702 664579712730 4260697726817 1267697450746 852536948298 521360432250 7558908122 306291568310 4651086739 47773867052 42609719960 2789326637 17049007284 10291151436 5059985072...

output:

23b69acd873f5d7e892bae7de83615
OK
998150596426290490
999629133284390882
998215418777177562
998145820256439723
998383216372500291
999823430826570361
998966748940447793
999931820892769586
998103508037969947
994822089452245168

result:

ok 12 lines

Test #21:

score: 12
Accepted
time: 0ms
memory: 3968kb

input:

1b32a07d5f5fc55f21038b12a3655e
10
2 1
169908575876420 74785844995242
3 1
226570404985446 64083682937249 16177775064360
2 1
78421821647076 20670333716628
2 1
103736129618534 133262891446623
2 1
201950180991896 136714945687529
3 1
3749682049432 65738362562486 43466529179989
2 1
141192154048697 1007139...

output:

23b69acd873f5d7e892bae7de83615
OK
319480265866905
419448871117385
119762489080333
370261912511781
475380072366955
309092523894361
161334936893086
555486462528387
36995595521795
336849829517447

result:

ok 12 lines

Test #22:

score: 12
Accepted
time: 0ms
memory: 3840kb

input:

1b32a07d5f5fc55f21038b12a3655e
10
50 1
90484924688874 137830208226001 45482025364578 4804515007676 26649821940429 7203007739891 7146205614942 2991317881359 1170632189435 1046201036931 583734802401 540926313779 37310294498 5547248958 68559860348 21326108021 21615751720 20095466145 7486573446 41738062...

output:

23b69acd873f5d7e892bae7de83615
OK
880600622517898789
319156126318321198
999966088919903763
346363154102819584
998980961295958705
371164437311943884
999882392886957845
122331660707754562
138676448601630520
444209940715393258

result:

ok 12 lines

Test #23:

score: 12
Accepted
time: 1ms
memory: 3840kb

input:

1b32a07d5f5fc55f21038b12a3655e
10
58 1
1 1 0 2 0 2 1 0 2 1 0 2 2 0 2 0 1 2 2 1 1 0 1 2 0 0 1 1 0 2 1 1 2 1 2 0 0 2 0 2 2 1 2 2 1 1 1 1 1 0 0 0 0 2 0 0 2 0
58 1
0 2 2 1 2 2 1 2 1 1 1 1 2 2 2 1 1 1 2 2 1 0 0 2 0 0 1 1 1 1 2 1 2 2 2 2 0 2 2 2 2 1 0 2 2 2 1 0 0 1 1 2 0 0 2 0 0 0
58 1
1 1 1 0 1 0 2 0 1 1...

output:

23b69acd873f5d7e892bae7de83615
OK
17119503576000
340021311624000
1442648309760
92711882473056
57502703520000
7675098320736
1652310576000
531018923904
59452644787200
6199633440000

result:

ok 12 lines

Subtask #3:

score: 0
Wrong Answer

Dependency #2:

100%
Accepted

Test #24:

score: 0
Wrong Answer
time: 0ms
memory: 3840kb

input:

1b32a07d5f5fc55f21038b12a3655e
9
1 10000
1257943
1 9999
134678868
1 9998
347896327953278421
10 9997
9997 9997 9997 9997 9997 9997 9997 9997 9997 9997
58 9996
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
58 9995
2 2 2 2 2 2 2 2 2 ...

output:

23b69acd873f5d7e892bae7de83615
OK
54
1596
4834763266
232
1
1
1
12
1000000000000000001

result:

wrong answer 3rd lines differ - expected: '126', found: '54'

Subtask #4:

score: 0
Wrong Answer

Test #37:

score: 0
Wrong Answer
time: 1ms
memory: 4096kb

input:

1b32a07d5f5fc55f21038b12a3655e
1000
1 58154
7524966895
1 8202307
111644679548
1 4657823
572813778574
1 8581224
917709588724
1 2549268
93837813781
1 6469550
461900798305
1 9462249
1237159241753
1 5977464
27903181559
1 6141451
1158318945018
1 2941240
189538399954
1 4053464
31464433253
1 9709136
610950...

output:

23b69acd873f5d7e892bae7de83615
OK
6764
1596
6764
6764
2960
4790
6764
753
9348
4180
986
4180
9348
3193
8361
3570
3570
6764
9348
3193
1596
1363
7751
2960
2583
2583
9348
2206
9348
6764
5777
7141
609
5777
6764
5777
2583
9348
4180
2583
7751
3570
6764
9348
2583
6764
9348
5167
6764
9348
9348
4180
7751
6764...

result:

wrong answer 3rd lines differ - expected: '129398', found: '6764'

Subtask #5:

score: 0
Skipped

Dependency #1:

0%