QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#846324 | #9990. 摊位分配 | hcywoi | AC ✓ | 657ms | 5080kb | C++23 | 1.2kb | 2025-01-07 07:08:45 | 2025-01-07 07:08:45 |
Judging History
answer
#include <bits/stdc++.h>
using i64 = long long;
constexpr int N = 100000;
int u[N];
i64 pw[60];
struct Node {
int i, v;
bool operator< (const Node &a) const {
if (v > a.v) {
return u[i] != u[a.i] * pw[v - a.v] ? u[i] < u[a.i] * pw[v - a.v] : (a.v == 0 ? 1 : (u[i] != u[a.i] ? u[i] < u[a.i] : i > a.i));
}
return u[a.i] != u[i] * pw[a.v - v] ? u[a.i] > u[i] * pw[a.v - v] : (v == 0 && a.v != 0 ? 0 : (u[i] != u[a.i] ? u[i] < u[a.i] : i > a.i));
}
};
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
pw[0] = 1;
for (int i = 1; i < 60; i++) {
pw[i] = pw[i - 1] * 2;
}
int T, H;
std::cin >> T >> H;
for (int i = 0; i < T; i++) {
std::cin >> u[i];
}
int k = 0;
while (k * T + T * 30 < H) {
k++;
}
std::vector<int> ans(T);
std::priority_queue<Node> h;
for (int i = 0; i < T; i++) {
ans[i] += k;
h.push({i, k});
}
H -= T * k;
while (H > 0) {
auto [i, k] = h.top();
h.pop();
ans[i]++;
H--;
h.push({i, k + 1});
}
for (int i = 0; i < T; i++) {
std::cout << ans[i] << " \n"[i == T - 1];
}
return 0;
}
详细
Test #1:
score: 100
Accepted
time: 0ms
memory: 3804kb
input:
100 100 33554430 66 536870909 268435454 536870911 253 67108859 261 33554428 536870908 536870909 257 67108869 132 33554429 67 134217731 67108867 124 133 33554428 62 67 27 29 67108862 268435456 34 512 251 28 67108859 36 268435459 67108863 33554437 260 252 33554431 536870914 268435458 536870916 3355443...
output:
0 0 4 3 4 0 1 0 0 4 4 0 2 0 0 0 2 1 0 0 0 0 0 0 0 1 3 0 0 0 0 1 0 3 1 1 0 0 0 4 3 4 0 1 0 1 0 1 0 0 0 2 3 2 0 0 2 4 0 0 4 0 0 2 0 0 1 0 0 2 3 0 0 0 0 0 4 2 2 0 0 2 2 0 0 3 1 3 0 0 0 0 2 0 1 0 0 0 0 4
result:
ok 100 numbers
Test #2:
score: 0
Accepted
time: 1ms
memory: 3532kb
input:
1000 1000 762386998 433967133 378498669 169544046 300719712 268336250 56778152 492559710 596201735 545006978 137208419 960624874 63583952 273670317 85352951 10614395 34854452 919142578 305654094 890211640 533077466 541169905 768202901 846103952 346007740 438317433 54322072 31238688 987039237 1160587...
output:
2 1 1 0 0 0 0 1 1 1 0 2 0 0 0 0 0 2 1 2 1 1 2 2 1 1 0 0 2 0 0 2 2 0 2 0 1 1 2 0 1 0 2 2 1 2 2 0 0 0 0 1 2 0 1 0 1 0 2 2 2 0 0 0 2 1 1 0 2 0 0 2 0 1 2 1 1 1 0 0 0 2 2 0 0 0 2 2 2 1 1 0 0 2 1 1 1 0 0 0 0 1 0 2 0 1 2 2 0 0 2 0 0 1 0 2 2 1 2 2 1 0 1 1 2 2 0 0 2 0 2 0 2 0 1 2 1 0 2 1 0 2 0 1 0 1 2 1 2 1 ...
result:
ok 1000 numbers
Test #3:
score: 0
Accepted
time: 657ms
memory: 4904kb
input:
100000 775803718 583 174 231 759 337 82 876 327 430 922 939 196 559 444 102 586 311 241 132 119 578 138 254 853 615 688 1002 367 825 767 387 711 621 84 582 107 795 860 27 572 196 135 656 67 934 877 409 439 601 77 904 273 111 630 523 994 707 935 457 293 530 624 396 802 199 789 876 933 705 558 219 549...
output:
7759 7757 7757 7759 7758 7756 7759 7758 7758 7759 7759 7757 7759 7758 7756 7759 7758 7757 7757 7756 7759 7757 7757 7759 7759 7759 7759 7758 7759 7759 7758 7759 7759 7756 7759 7756 7759 7759 7754 7759 7757 7757 7759 7756 7759 7759 7758 7758 7759 7756 7759 7758 7756 7759 7759 7759 7759 7759 7758 7758 ...
result:
ok 100000 numbers
Test #4:
score: 0
Accepted
time: 27ms
memory: 4948kb
input:
99923 101923 99 110 126 166 394 307 496 345 492 47 16 350 182 368 155 369 506 286 256 221 7 416 376 484 475 110 389 35 134 259 260 460 138 125 399 104 24 203 456 400 325 217 305 8 11 347 44 167 175 141 81 297 221 340 395 340 331 377 451 392 331 100 13 409 79 288 270 495 197 381 396 496 48 225 322 26...
output:
0 0 0 0 2 1 2 2 2 0 0 2 1 2 0 2 2 1 1 1 0 2 2 2 2 0 2 0 0 1 1 2 0 0 2 0 0 1 2 2 1 1 1 0 0 2 0 0 1 0 0 1 1 1 2 1 1 2 2 2 1 0 0 2 0 1 1 2 1 2 2 2 0 1 1 1 0 0 2 2 1 2 2 1 0 0 0 0 2 2 0 2 0 1 0 0 0 0 2 0 2 2 0 2 0 0 2 1 0 1 0 1 1 2 0 0 0 0 2 2 1 2 1 1 2 0 2 2 2 0 0 1 1 1 2 0 2 1 0 2 1 2 0 0 1 1 0 2 0 0 ...
result:
ok 99923 numbers
Test #5:
score: 0
Accepted
time: 44ms
memory: 4900kb
input:
99902 199902 14 9 12 29 15 22 4 1 11 5 9 21 11 19 22 16 32 14 30 9 17 2 16 27 27 4 20 6 24 32 2 2 29 28 22 22 5 27 11 4 20 10 26 31 22 11 26 9 25 16 15 32 31 29 4 3 1 29 25 23 16 26 31 10 12 30 9 28 19 3 28 27 31 25 19 13 3 18 14 32 15 3 20 22 8 9 13 13 25 10 6 4 15 29 23 7 22 13 6 10 28 30 6 10 16 ...
output:
2 1 2 3 2 3 0 0 2 1 1 3 2 2 3 2 3 2 3 1 2 0 2 3 3 0 3 1 3 3 0 0 3 3 3 3 1 3 2 0 3 2 3 3 3 2 3 1 3 2 2 3 3 3 0 0 0 3 3 3 2 3 3 2 2 3 1 3 2 0 3 3 3 3 2 2 0 2 2 3 2 0 3 3 1 1 2 2 3 2 1 0 2 3 3 1 3 2 1 2 3 3 1 2 2 2 3 3 0 2 3 0 2 2 0 0 3 3 3 3 2 3 2 2 0 3 1 3 2 3 1 0 3 2 1 3 2 1 3 3 2 2 3 3 2 2 3 1 0 3 ...
result:
ok 99902 numbers
Test #6:
score: 0
Accepted
time: 513ms
memory: 5056kb
input:
99913 525483157 23 9 30 4 3 20 29 14 13 30 17 16 4 7 17 28 15 25 13 26 15 27 14 18 14 29 11 24 16 17 2 1 23 20 13 27 5 19 5 5 14 25 1 7 2 12 8 1 30 18 8 9 30 7 23 19 16 26 16 3 11 23 28 31 21 3 29 10 4 30 18 18 10 5 11 30 31 7 8 6 4 14 14 29 11 13 5 16 2 30 9 18 16 29 21 25 26 17 2 29 15 12 28 27 8 ...
output:
5260 5259 5261 5258 5257 5260 5261 5260 5259 5261 5260 5260 5258 5258 5260 5261 5260 5260 5259 5260 5260 5260 5260 5260 5260 5261 5259 5260 5260 5260 5257 5256 5260 5260 5259 5260 5258 5260 5258 5258 5260 5260 5256 5258 5257 5259 5259 5256 5261 5260 5259 5259 5261 5258 5260 5260 5260 5260 5260 5257 ...
result:
ok 99913 numbers
Test #7:
score: 0
Accepted
time: 47ms
memory: 5080kb
input:
99966 199966 67 49 86 77 90 86 72 104 39 120 63 56 56 76 85 46 37 52 68 114 36 77 55 93 48 95 63 60 94 44 103 46 127 82 51 84 109 115 125 102 57 103 126 80 36 73 127 104 45 80 76 99 84 70 55 39 121 47 40 62 114 33 77 40 63 85 106 111 116 80 99 103 128 63 125 88 98 76 56 57 54 82 105 98 69 67 96 36 4...
output:
2 1 2 2 2 2 2 2 1 3 2 2 2 2 2 1 1 1 2 3 1 2 2 2 1 2 2 2 2 1 2 1 3 2 1 2 3 3 3 2 2 2 3 2 1 2 3 2 1 2 2 2 2 2 2 1 3 1 1 2 3 1 2 1 2 2 2 3 3 2 2 2 3 2 3 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 1 2 2 1 2 3 3 1 2 2 2 3 3 2 3 3 2 3 2 2 1 2 3 3 2 3 2 3 2 2 2 2 3 2 1 2 3 3 2 1 3 2 1 3 2 2 2 1 2 1 3 3 2 3 1 ...
result:
ok 99966 numbers
Test #8:
score: 0
Accepted
time: 650ms
memory: 5080kb
input:
99977 977630426 16377 134217725 35 1029 33554431 131073 514 131076 16777214 1048573 4095 536870914 510 8187 1021 131078 268435461 33554430 536870908 536870907 1048580 268435455 536870918 33554432 16379 65533 524292 14 33554431 8198 513 254 2049 33554439 2097149 16777213 131075 2049 9 1025 536870908 ...
output:
9776 9789 9768 9773 9787 9780 9772 9780 9786 9782 9774 9792 9771 9775 9772 9780 9791 9787 9792 9791 9783 9791 9792 9788 9776 9778 9782 9766 9787 9776 9772 9770 9774 9788 9783 9786 9780 9774 9766 9773 9792 9785 9775 9791 9782 9782 9780 9788 9788 9765 9776 9786 9789 9775 9769 9792 9782 9782 9774 9771 ...
result:
ok 99977 numbers
Test #9:
score: 0
Accepted
time: 606ms
memory: 5000kb
input:
99988 855471812 254 509 33554425 67108867 16777212 259 268435450 33554425 268435451 8388612 268435454 7 134217728 536870905 16777213 71 70 8388613 38 8 28 20 16777218 67108858 536870906 8388603 250 536870914 6 134217732 38 8388604 67108866 10 67108867 67108865 135 34 16 67108859 8388615 38 25 671088...
output:
8548 8549 8565 8566 8564 8548 8568 8565 8568 8563 8568 8542 8567 8569 8564 8546 8546 8563 8545 8543 8544 8544 8564 8566 8569 8563 8547 8569 8542 8567 8545 8563 8566 8543 8566 8566 8547 8545 8544 8566 8563 8545 8544 8566 8544 8567 8563 8549 8563 8564 8566 8565 8545 8566 8564 8563 8566 8544 8541 8545 ...
result:
ok 99988 numbers
Test #10:
score: 0
Accepted
time: 0ms
memory: 3620kb
input:
4 7 2 1 4 3
output:
1 1 3 2
result:
ok 4 number(s): "1 1 3 2"
Test #11:
score: 0
Accepted
time: 0ms
memory: 3548kb
input:
9 27 801 919 210 101 417 713 304 613 921
output:
4 4 2 1 3 4 2 3 4
result:
ok 9 numbers