QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#218463 | #7606. Digital Nim | ucup-team1209# | AC ✓ | 1583ms | 6932kb | C++20 | 1.9kb | 2023-10-18 12:53:37 | 2023-10-18 12:53:38 |
Judging History
answer
#include<bits/stdc++.h>
using std::cin, std::cout;
const int mod = 1e9 + 7;
const int N = 500005;
const int inv2 = (mod + 1) / 2;
using u64 = unsigned long long;
using ll = long long;
int n;
int pop[10000];
int popc(u64 x) {
return
pop[x % 10000] +
pop[x / 10000 % 10000] +
pop[x / 100000000 % 10000] +
pop[x / 1000000000000 % 10000] +
pop[x / 10000000000000000];
}
const int V = 200;
ll jump[V][20][V];
ll naive(int sum, ll low, ll base) {
ll x = low;
for(;++low < base;) {
ll tmp = low - popc(low) - sum;
if(tmp > x) return low;
}
return -1;
}
ll naive(ll low) {
ll x = low;
for(;;) {
++ low;
ll tmp = low - popc(low);
if(tmp > x) return low;
}
return -1;
}
int main() {
#ifdef zqj
freopen("$.in", "r", stdin);
#endif
for(int i = 0;i < 1e4;++i) {
pop[i] = pop[i / 10] + i % 10;
}
std::ios::sync_with_stdio(false), cin.tie(0);
ll prod = 1;
for(int j = 1;j <= 18;++j) {
prod *= 10;
ll base = prod / 10;
for(int i = 0;i < (20 - j) * 9;++i) {
for(int k = 0;k < V && k < prod;++k) {
ll & res = jump[i][j][k];
ll z = k;
if(j == 4) {
//puts("233");
}
for(;;) {
z += jump[i + z / base][j - 1][z % base];
if(z % base >= V) {
// puts("233");
}
ll res = naive(i, z, prod);
if(res == -1) {
break;
}
assert(res / base != z / base);
z = res;
assert(z % base < V);
// std::cerr << j << ' ' << i << ' ' << k << ' ' << z << '\n';
}
res = z - k;
}
}
}
int t; cin >> t;
for(int i = 0;i < t;++i) {
ll n;// cin >> n;
//n = (ll)1e18 - i;
cin >> n;
ll now = 0;
for(ll base = 1e18, i = 18;i >= 1;--i) {
for(;now / base < n / base;) {
now += jump[popc(now / base)][i][now % base];
now = naive(now);
}
base /= 10;
}
if(now == n) {
// cout << now << ' ' << now - popc(now) << ' ';
}
cout << (now != n ? "Algosia" : "Bajtek") << '\n';
}
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 967ms
memory: 6796kb
input:
4 1 10 42 190
output:
Algosia Bajtek Algosia Algosia
result:
ok 4 lines
Test #2:
score: 0
Accepted
time: 977ms
memory: 6732kb
input:
1 1
output:
Algosia
result:
ok single line: 'Algosia'
Test #3:
score: 0
Accepted
time: 974ms
memory: 6812kb
input:
10000 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 10...
output:
Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Bajtek Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Bajtek Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Bajtek Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia...
result:
ok 10000 lines
Test #4:
score: 0
Accepted
time: 1016ms
memory: 6760kb
input:
10000 86 385 545 561 563 770 831 859 1123 1218 1423 1437 1602 1650 1884 1960 2096 2160 2330 2552 2662 2762 3359 3382 3425 3556 3606 3669 3790 3962 3980 4009 4060 4128 4418 4424 4458 4483 4510 4540 4594 4659 4704 4766 4822 4946 5073 5139 5195 5225 5267 5390 5490 5557 5885 6171 6235 6307 6371 6442 645...
output:
Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Bajtek Algosia Bajtek Bajtek Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia...
result:
ok 10000 lines
Test #5:
score: 0
Accepted
time: 1024ms
memory: 6788kb
input:
10000 63282 121076 318636 395380 405847 473533 850891 859227 876990 877183 1202581 1360154 1416399 1450189 1603717 1618175 1636686 1648221 1649807 1652127 1714183 1730743 1766595 1813769 1883327 1909563 2033458 2034831 2054278 2365137 2398438 2431649 2544385 2591344 2781989 2799879 2946371 3081362 3...
output:
Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Bajtek Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algos...
result:
ok 10000 lines
Test #6:
score: 0
Accepted
time: 1086ms
memory: 6796kb
input:
10000 55974796 164367751 726067320 832933581 839242663 874743324 924711240 1273805641 1293241492 1502671500 1580201972 1866598988 1875214768 1887602218 2187236520 2190435343 2200271756 2222335108 2298443856 2312384848 2553086341 2728080634 2847195043 2941043887 3015534723 3032934075 3042416569 30536...
output:
Algosia Algosia Bajtek Algosia Algosia Algosia Algosia Algosia Algosia Bajtek Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosi...
result:
ok 10000 lines
Test #7:
score: 0
Accepted
time: 1171ms
memory: 6816kb
input:
10000 226734696862 331363710798 571908782674 587317947192 712617926622 750076643202 845071930320 900747937168 1029215192240 1236146558335 1390866543043 1421889212655 1678882652961 1860532340178 1919377401251 2008873081380 2015692609997 2195759385338 2467741475021 2486222596605 2634516025808 26507182...
output:
Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algo...
result:
ok 10000 lines
Test #8:
score: 0
Accepted
time: 1246ms
memory: 6756kb
input:
10000 124622741096106 127915048407795 338055966544572 424759758772639 540891121626578 884552643212757 918897131418487 1038990284375115 1043645564945444 1091151047570719 1131685140698119 1179792323538604 1218106719409451 1308943890457408 1401629782270253 1553755285224054 1685066123444970 175412220254...
output:
Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Bajtek Algosia Algosia Algosia Bajtek Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosi...
result:
ok 10000 lines
Test #9:
score: 0
Accepted
time: 1238ms
memory: 6812kb
input:
10000 1 12040017006426 36919715476907 130350585855721 221622468425134 272540915018120 364336484657993 478643981515498 557794141673071 606233096811090 775089479486393 893004821985325 902237988318842 1130499645664726 1195851979931148 1414028882291509 1655625823710955 1755276365843095 2018579471606792 ...
output:
Algosia Algosia Algosia Algosia Algosia Bajtek Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algos...
result:
ok 10000 lines
Test #10:
score: 0
Accepted
time: 1583ms
memory: 6800kb
input:
10000 999999999999990001 999999999999990002 999999999999990003 999999999999990004 999999999999990005 999999999999990006 999999999999990007 999999999999990008 999999999999990009 999999999999990010 999999999999990011 999999999999990012 999999999999990013 999999999999990014 999999999999990015 999999999...
output:
Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Bajtek Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algos...
result:
ok 10000 lines
Test #11:
score: 0
Accepted
time: 1005ms
memory: 6800kb
input:
10000 70 117 160 240 250 300 380 490 657 714 1120 1160 1220 1257 1320 1340 1373 1410 1480 1593 1636 1790 1800 1820 1860 2104 2130 2160 2191 2240 2340 2447 2500 2630 2780 2820 2860 3069 3200 3220 3240 3418 3420 3460 3500 3590 3700 3720 3820 3855 3960 4050 4270 4280 4300 4505 4700 4866 4899 4950 5060 ...
output:
Bajtek Algosia Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Algosia Algosia Bajtek Bajtek Bajtek Algosia Bajtek Bajtek Algosia Bajtek Bajtek Algosia Algosia Bajtek Bajtek Bajtek Bajtek Algosia Bajtek Bajtek Algosia Bajtek Bajtek Algosia Bajtek Bajtek Bajtek Bajtek Bajtek Algosia Bajtek Bajtek Bajtek Al...
result:
ok 10000 lines
Test #12:
score: 0
Accepted
time: 1025ms
memory: 6792kb
input:
10000 233670 263580 429860 854050 873291 1086178 1304670 1321550 1328046 1406784 1426400 1477950 1486792 1684240 1795146 1852820 1853080 1912430 2191240 2197854 2203980 2283121 2338700 2420280 2535760 2583393 2641220 2662760 2815271 2904030 3004200 3005800 3088730 3163300 3308385 3327308 3370803 342...
output:
Bajtek Bajtek Bajtek Bajtek Algosia Algosia Bajtek Algosia Algosia Algosia Bajtek Bajtek Algosia Bajtek Algosia Algosia Bajtek Algosia Bajtek Algosia Bajtek Algosia Bajtek Bajtek Bajtek Algosia Bajtek Bajtek Algosia Algosia Bajtek Bajtek Bajtek Bajtek Algosia Algosia Algosia Algosia Algosia Algosia ...
result:
ok 10000 lines
Test #13:
score: 0
Accepted
time: 1077ms
memory: 6924kb
input:
10000 37768120 150180510 229863847 560379800 586663800 658215455 700419092 842166110 1099982656 1196035589 1212804381 1276766090 1340726750 1439493400 1485368600 1552383430 1571761867 1619040412 1639555800 1756888955 1878781302 1906920599 2006336430 2034670454 2128404710 2172553769 2343552940 235525...
output:
Bajtek Bajtek Algosia Bajtek Bajtek Algosia Algosia Bajtek Algosia Algosia Algosia Bajtek Bajtek Bajtek Bajtek Bajtek Algosia Algosia Bajtek Algosia Algosia Algosia Bajtek Algosia Bajtek Algosia Bajtek Bajtek Algosia Algosia Bajtek Algosia Algosia Bajtek Bajtek Bajtek Bajtek Bajtek Algosia Bajtek Al...
result:
ok 10000 lines
Test #14:
score: 0
Accepted
time: 1170ms
memory: 6792kb
input:
10000 140411141830 370827567460 432745525710 437369528100 451414954866 548449130655 582806101555 584683156587 840808279410 850593238720 922032818220 932201709949 976847660068 980705147940 1015231086577 1079623223909 1188227310354 1208869181620 1257901597290 1387458748506 1430129564600 1514175866070 ...
output:
Bajtek Bajtek Algosia Bajtek Algosia Algosia Algosia Algosia Bajtek Bajtek Bajtek Algosia Algosia Bajtek Algosia Algosia Algosia Bajtek Bajtek Algosia Bajtek Bajtek Bajtek Bajtek Bajtek Algosia Bajtek Bajtek Bajtek Bajtek Algosia Algosia Algosia Algosia Algosia Algosia Algosia Bajtek Bajtek Algosia ...
result:
ok 10000 lines
Test #15:
score: 0
Accepted
time: 1231ms
memory: 6932kb
input:
10000 68839458383200 122548893723820 189239968438380 214424448493520 260360126583970 307063514207551 343073386643240 528994809938142 578589436821610 586247296648460 760004635119421 772309204371700 777998567649100 845471647736690 858069088401550 1186547393187216 1241694321320137 1450552266461060 1521...
output:
Bajtek Bajtek Bajtek Bajtek Algosia Algosia Bajtek Algosia Bajtek Bajtek Algosia Bajtek Bajtek Bajtek Bajtek Algosia Algosia Bajtek Algosia Algosia Bajtek Bajtek Algosia Bajtek Algosia Algosia Bajtek Bajtek Bajtek Bajtek Algosia Bajtek Bajtek Bajtek Algosia Algosia Bajtek Algosia Bajtek Algosia Bajt...
result:
ok 10000 lines
Test #16:
score: 0
Accepted
time: 1075ms
memory: 6700kb
input:
10000 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 10...
output:
Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Bajtek Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Bajtek Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Bajtek Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia...
result:
ok 10000 lines
Test #17:
score: 0
Accepted
time: 1080ms
memory: 6816kb
input:
10000 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 210 220 230 240 250 260 270 280 290 300 310 320 330 340 350 360 370 380 390 400 410 420 430 440 450 460 470 480 490 500 510 520 530 540 550 560 570 580 590 600 610 620 630 640 650 660 670 680 690 700 710 720 730 740 750 760...
output:
Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Algosia Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Algosia Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Algosia Bajtek Algosia Bajtek Bajtek Bajtek Ba...
result:
ok 10000 lines
Test #18:
score: 0
Accepted
time: 985ms
memory: 6800kb
input:
10000 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 210 220 230 240 250 260 270 280 290 300 310 320 330 340 350 360 370 380 390 400 410 420 430 440 450 460 470 480 490 500 510 520 530 540 550 560 570 580 590 600 610 620 630 640 650 660 670 680 690 700 710 720 730 740 750 760...
output:
Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Algosia Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Algosia Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Algosia Bajtek Algosia Bajtek Bajtek Bajtek Ba...
result:
ok 10000 lines
Test #19:
score: 0
Accepted
time: 987ms
memory: 6804kb
input:
10000 10 40 110 140 190 290 400 410 460 590 760 810 1000 1060 1290 1450 1500 1660 1730 1800 2300 2450 2520 2630 2640 2750 2880 2920 3310 3500 3670 3710 4010 4020 4040 4080 4100 4230 4280 4520 4680 4730 4840 5150 5340 5390 5400 5490 5570 5760 5830 5960 5990 6010 6050 6080 6100 6130 6170 6230 6250 629...
output:
Bajtek Bajtek Bajtek Bajtek Algosia Bajtek Bajtek Bajtek Algosia Algosia Bajtek Bajtek Bajtek Bajtek Algosia Algosia Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Bajtek Algosia Algosia Bajtek Bajtek Bajtek Bajtek Algosia Algosia Bajtek Bajtek Bajtek Algosia Bajtek Bajtek Algosia Bajtek Bajtek Al...
result:
ok 10000 lines
Test #20:
score: 0
Accepted
time: 1045ms
memory: 6800kb
input:
10000 187980 682630 818640 1044370 1063650 1091690 1113430 1481670 1511400 1605690 1683890 1707110 1863100 1939890 2016730 2269950 2276800 2354240 2465340 2520450 2580240 2786890 2889490 3180360 3281200 3362740 3386330 3483110 3486660 3514470 3524380 3729260 3842500 3904700 3907560 4028620 4075380 4...
output:
Algosia Bajtek Algosia Algosia Bajtek Algosia Algosia Bajtek Bajtek Bajtek Algosia Algosia Algosia Bajtek Algosia Bajtek Bajtek Algosia Bajtek Bajtek Algosia Algosia Algosia Algosia Bajtek Algosia Bajtek Algosia Algosia Algosia Bajtek Bajtek Bajtek Bajtek Algosia Algosia Bajtek Algosia Bajtek Bajtek...
result:
ok 10000 lines
Test #21:
score: 0
Accepted
time: 1079ms
memory: 6740kb
input:
10000 60810990 97581310 166821440 196069190 216834580 622747490 811898210 888735980 1192107900 1197822780 1202523680 1421856990 1499482000 1562447650 1566552320 1720101440 1801617500 1853604370 2025975570 2034190570 2308971870 2313441650 2375358600 2486068680 2533542700 2916043660 3205803050 3246192...
output:
Algosia Algosia Algosia Algosia Algosia Bajtek Algosia Algosia Algosia Algosia Algosia Algosia Bajtek Algosia Algosia Algosia Algosia Algosia Algosia Bajtek Algosia Algosia Bajtek Algosia Algosia Algosia Algosia Bajtek Algosia Bajtek Algosia Algosia Bajtek Algosia Bajtek Bajtek Algosia Bajtek Bajtek...
result:
ok 10000 lines
Test #22:
score: 0
Accepted
time: 1168ms
memory: 6916kb
input:
10000 76406715630 111565324460 200750576620 261707853560 445866973050 668135631280 974874883740 1162782063390 1165158948810 1242609524690 1272305703760 1315874237130 1393854893090 1454312667550 1525253603140 1592330451160 1802879548460 1836626272740 1883614175330 2003404258120 2241268746360 22653837...
output:
Algosia Algosia Algosia Algosia Algosia Bajtek Algosia Algosia Algosia Algosia Algosia Algosia Algosia Bajtek Algosia Algosia Algosia Algosia Algosia Bajtek Bajtek Algosia Bajtek Bajtek Algosia Algosia Bajtek Algosia Bajtek Algosia Algosia Algosia Bajtek Algosia Algosia Algosia Algosia Algosia Algos...
result:
ok 10000 lines
Test #23:
score: 0
Accepted
time: 1230ms
memory: 6928kb
input:
10000 42607698916130 113454013589710 159641487153560 243076228475200 327199745352220 373104139235030 391375671066200 456211469904330 535489401599290 599949701164690 728261849853720 751891876690360 778296973651600 979417366859480 1115462673920810 1290359926184490 1318835783282350 1324359337113120 132...
output:
Algosia Algosia Algosia Algosia Algosia Algosia Bajtek Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Algosia Bajtek Algosia Algosia Algosia Algosia Algosia Algosia Bajtek Algosia Bajtek Algosia Algosia Algosia ...
result:
ok 10000 lines
Extra Test:
score: 0
Extra Test Passed