QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#797121 | #6226. 取石子 | propane | 0 | 981ms | 28372kb | C++20 | 959b | 2024-12-02 16:59:12 | 2024-12-02 16:59:13 |
Judging History
answer
#include<iostream>
#include<cstring>
#include<vector>
#include<map>
#include<algorithm>
using namespace std;
using LL = long long;
LL f[88];
map<pair<int, LL>, LL> mp;
LL n, k;
int l;
LL dp(LL n){
if (n <= k) return 0;
if (mp.contains({n, k})) return mp[{n, k}];
int r = upper_bound(f + 1, f + 88, n) - f - 1;
LL ans = r - l + 1;
for(int i = l; i + 1 <= r; i++){
ans += dp(f[i + 1] - f[i] - 1);
}
ans += dp(n - f[r]);
return mp[{n, k}] = ans;
}
int main(){
#ifdef LOCAL
freopen("data.in", "r", stdin);
freopen("data.out", "w", stdout);
#endif
cin.tie(0);
cout.tie(0);
ios::sync_with_stdio(0);
f[0] = f[1] = 1;
for(int i = 2; i < 88; i++){
f[i] = f[i - 1] + f[i - 2];
}
int T;
cin >> T;
while(T--){
cin >> k >> n;
l = upper_bound(f + 1, f + 88, k) - f;
cout << n - dp(n) << '\n';
}
}
Details
Tip: Click on the bar to expand more detailed information
Pretests
Final Tests
Test #1:
score: 0
Wrong Answer
time: 1ms
memory: 3700kb
input:
499 336 455 5 9 420 424 35 57 9 424 55 71 38 414 64 346 42 480 18 212 37 249 82 488 6 190 75 165 51 272 13 37 29 143 44 195 71 175 149 180 42 245 62 376 193 285 47 207 128 145 5 209 281 329 9 437 258 296 2 31 70 240 268 356 21 93 147 180 79 115 63 106 112 443 219 305 332 476 47 450 134 290 51 89 243...
output:
454 8 424 56 386 71 406 342 470 201 244 482 163 163 267 35 139 192 173 180 240 372 284 203 144 179 329 398 296 20 237 356 90 180 114 105 440 304 475 441 288 87 388 249 10 343 221 238 180 56 181 22 241 425 304 136 30 36 226 457 308 340 131 120 413 411 145 318 437 95 296 152 128 414 272 377 400 99 195...
result:
wrong answer 1st lines differ - expected: '453', found: '454'
Test #2:
score: 0
Wrong Answer
time: 71ms
memory: 9620kb
input:
49875 14399 29607 6224 29914 1106 26641 17 26569 6365 25718 27 4637 1618 2714 33573 40913 35563 36097 8973 28132 5673 25161 17636 34907 6000 10087 4467 7440 8334 49937 259 20572 6268 28505 6401 15802 12571 13234 23041 27538 2493 47406 5802 10423 11962 30757 3300 3837 8350 20422 225 16103 23645 34285...
output:
29605 29909 26622 25089 25714 4478 2713 40913 36097 28130 25157 34905 10086 7439 49932 20509 28501 15800 13234 27538 47385 10422 30755 3837 20420 16023 34284 14144 11944 3086 26305 4188 45878 6745 2565 6584 41137 24162 24496 3582 20251 1597 1769 42298 36850 39561 1568 19249 5958 29388 18797 41588 42...
result:
wrong answer 1st lines differ - expected: '29604', found: '29605'
Test #3:
score: 0
Wrong Answer
time: 147ms
memory: 15000kb
input:
94256 53191 66970 85363 96281 23759 25693 28568 43227 27 31316 10224 32226 9111 25249 16987 19389 15006 30353 9523 59244 42546 55606 6039 6830 5609 54488 2509 12330 29480 70960 14785 65267 60831 91903 281 18175 31994 76610 3582 9689 7665 34764 12673 18964 16448 22115 5748 30321 33618 49834 18843 244...
output:
66970 96281 25693 43226 30238 32223 25247 19388 30351 59238 55605 6829 54479 12325 70959 65263 91902 18119 76608 9687 34761 18963 22114 30316 49833 24426 70060 40153 56260 57055 14262 45340 15708 14218 55633 98632 52712 24036 98750 39749 89562 80982 18907 48684 22462 41207 97045 74801 91012 49045 98...
result:
wrong answer 1st lines differ - expected: '66969', found: '66970'
Test #4:
score: 0
Wrong Answer
time: 0ms
memory: 3580kb
input:
3 34279 810634 918771 1021048 25 42120
output:
810614 1021048 40670
result:
wrong answer 1st lines differ - expected: '810613', found: '810614'
Test #5:
score: 0
Wrong Answer
time: 0ms
memory: 3580kb
input:
3 690379 1982172 417599 1708659 1717080 2863950
output:
1982170 1708656 2863949
result:
wrong answer 1st lines differ - expected: '1982169', found: '1982170'
Test #6:
score: 0
Wrong Answer
time: 32ms
memory: 4800kb
input:
944 1 343954967570505156 1 84731075985818925 1 138311144113583007 1 104547054550584433 1 693241347397247084 1 472332079344024358 1 156793474620214247 1 850344749061699637 1 803512580085688163 1 310836022836048564 1 495053169351075063 1 82844446500137324 1 178945557527795821 1 216483389996708327 1 59...
output:
131379107012565125 32364391123232826 52830156028503762 39933421414633891 264794632298974934 180414800332505167 59889778090727832 324802791986569006 306914495204610982 118728795795532068 189093484453752949 31643762783880188 68351120839818397 82689296978943594 226609373538521525 31210098343021365 1747...
result:
wrong answer 4th lines differ - expected: '39933421414633890', found: '39933421414633891'
Test #7:
score: 0
Time Limit Exceeded
input:
91665 1 367380666905152293 1 182005789689897190 1 623096247285159354 1 671594325644512277 1 742160204799780654 1 794275980040994924 1 74354650304567324 1 911166360819358930 1 764757676441890048 1 752269248988307295 1 955093740058796962 1 747803753737785010 1 404138290206507311 1 181396406609700806 1...
output:
140326927948164534 69520025512275543 238001588200421480 256526205744638560 283479973135933361 303386427928026962 28400949194731997 348034580427444623 292111439243407250 287341284422175938 364813346260203446 285635617013077652 154367090703617033 69287261887809627 23433513534972568 245586033973105615 ...
result:
Test #8:
score: 0
Wrong Answer
time: 10ms
memory: 4088kb
input:
911 78374152724567593 983112666946547816 753553157811176669 788891899819251115 33856693441045857 281513707367405940 458492126183900287 469318687938414816 20297113357777935 33378284552002778 10115955709864055 787679629225677540 17150232293760847 102828488233093971 112680441700253174 12938526751175947...
output:
983112666946547805 788891899819251115 281513707367405932 469318687938414816 33378284552002777 787679629225677477 102828488233093966 129385267511759477 393578058742371564 710310834833243827 96936676611661624 735136776039311810 198814605441753840 180714195277663472 595056197625354638 81570251109792082...
result:
wrong answer 1st lines differ - expected: '983112666946547804', found: '983112666946547805'
Test #9:
score: 0
Wrong Answer
time: 981ms
memory: 28372kb
input:
98295 873150664261731328 951581568702046682 56 727890463110977051 859978062141145093 947945138127019948 330253590080540990 768615565614466064 13256179404231692 95760438247048090 638707615934448347 792288571729874417 54711657924896980 847301161318887407 856185831773980409 893587664123567425 312798854...
output:
951581568702046682 718314614598993503 947945138127019948 768615565614466062 95760438247048083 792288571729874416 847301161318887391 893587664123567425 537497297873269824 9294212206362215 658682178594527623 905480424268227149 325786925372156417 562180168829403837 53899373768465926 713229827374765300 ...
result:
wrong answer 1st lines differ - expected: '951581568702046681', found: '951581568702046682'
Test #10:
score: 0
Wrong Answer
time: 891ms
memory: 27232kb
input:
91640 405786310369032226 553800146036810186 84 288402474700211717 19845023439645913 392170479523345754 597697212044203925 702078911619194971 11204130783741609 13290697100124817 23 484543424049569697 559463321235963921 601484656718057819 227796568880241875 992739563025444500 156735875816653837 901104...
output:
553800146036810185 284608362058033390 392170479523345735 702078911619194970 13290697100124817 467854850303592543 601484656718057819 992739563025444496 901104214479350061 48697612993165860 734901520058359732 279043494845859134 114370108376756252 853502730432930235 262119937602158136 18879980688626615...
result:
wrong answer 1st lines differ - expected: '553800146036810184', found: '553800146036810185'