QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#752815 | #9123. Kth Sum | haiender288 | WA | 87ms | 3832kb | C++23 | 1.7kb | 2024-11-16 09:56:12 | 2024-11-16 09:56:13 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
#define int uint32_t
#define fileio(name) if (fopen(name".inp", "r")) freopen(name".inp", "r", stdin), freopen(name".out", "w", stdout)
const int maxn = 50004;
int n, k, a[maxn], b[maxn], c[maxn];
int calc(int v) {
int res = 0;
for (int i = 1; i <= n; i++) {
int add = 0;
if (a[i] + b[n] + c[n] <= v) {
if ((long long)n*n + add >= k) return k;
add += n*n;
} else {
int l = 0;
for (int j = n; j > 0; j--) {
if (a[i] + b[j] + c[n] <= v) {
if ((long long)n*j + res >= k) return k;
add += n*j;
break;
} else {
while (l < n && a[i] + b[j] + c[l+1] <= v) l++;
add += l;
}
if (res+add >= k) return k;
}
}
res += add;
if (res + add*(n-i) < k) return 0;
if (res >= k) return k;
}
return res;
}
int32_t main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
fileio("");
// freopen("debug.txt", "w", stderr);
cin >> n >> k;
for (int i = 1; i <= n; i++) {
cin >> a[i];
}
for (int i = 1; i <= n; i++) {
cin >> b[i];
}
for (int i = 1; i <= n; i++) {
cin >> c[i];
}
sort(a+1, a+1+n);
sort(b+1, b+1+n);
sort(c+1, c+1+n);
int l = 0, r = 3e9;
while (l <= r) {
int mid = l+(r-l)/2;
if (calc(mid) >= k) {
r = mid-1;
} else {
l = mid+1;
}
}
cout << l;
return 0 ^ 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3664kb
input:
2 4 1 2 3 4 5 6
output:
10
result:
ok "10"
Test #2:
score: 0
Accepted
time: 0ms
memory: 3660kb
input:
10 40 11 9 13 12 15 11 11 2 11 17 3 1 10 2 12 18 9 11 11 15 14 9 4 14 16 9 20 2 1 18
output:
14
result:
ok "14"
Test #3:
score: 0
Accepted
time: 0ms
memory: 3668kb
input:
1 1 1000000000 1000000000 1000000000
output:
3000000000
result:
ok "3000000000"
Test #4:
score: 0
Accepted
time: 17ms
memory: 3724kb
input:
314 12491830 429392519 92131736 9460149 448874040 5326166 804308891 571581523 580832602 110825817 11150177 47845585 886171410 888601860 633656718 879205016 333690452 739013504 118317331 8289119 502971381 486014573 167383690 96016893 556946780 634198668 389358242 984894049 735281439 58642904 22106451...
output:
1346801336
result:
ok "1346801336"
Test #5:
score: 0
Accepted
time: 0ms
memory: 3668kb
input:
34 34490 133495256 283197838 857697935 858259368 959152648 301897236 990604260 865643006 704101978 322295867 324109158 258113372 423370893 16000407 224364583 353708691 265955784 183826167 813127458 476308169 634865805 973017138 197716378 674895784 956141489 277068847 534893183 817797721 662940992 82...
output:
2149314674
result:
ok "2149314674"
Test #6:
score: 0
Accepted
time: 2ms
memory: 3600kb
input:
162 3892887 763969065 810700429 42372207 636240914 502913712 840954780 778223217 445420701 2410846 338474264 231776510 588586138 368205344 103376804 569524150 783792347 87865355 617931224 986562016 523273886 488749745 483683293 299415863 792844787 204455380 164779452 748455830 195281294 930802591 80...
output:
2182951602
result:
ok "2182951602"
Test #7:
score: 0
Accepted
time: 1ms
memory: 3592kb
input:
86 413467 763039094 633170311 595642701 709189753 825336413 674979614 902278662 98827324 300719716 354652661 803007374 960528102 608007086 822156983 251120206 213876002 319840344 52036279 86367645 865206894 637600977 362945669 769711568 205761081 157801980 52490057 298454964 572764868 125035261 4872...
output:
1675510101
result:
ok "1675510101"
Test #8:
score: 0
Accepted
time: 9ms
memory: 3744kb
input:
214 7057935 98545611 529269121 443880485 487171300 369097477 582633376 321301399 678605020 893995877 2234839 79270945 291000867 847808829 204500671 596279774 233894241 478186405 117545115 891205983 838543682 491484917 873611825 871411053 323710085 406115873 645233371 143421391 950248441 24300640 758...
output:
1763767750
result:
ok "1763767750"
Test #9:
score: -100
Wrong Answer
time: 87ms
memory: 3832kb
input:
9429 823330096 710308717 885443360 151359742 257927627 89698847 133943367 458101850 441715448 448225213 867533556 948805555 168922334 660173729 242187286 990107147 920584508 611308123 525304427 558566303 443722397 295118124 112161359 258379911 198998755 698515100 523982637 41263636 383698580 8552056...
output:
631485635
result:
wrong answer 1st words differ - expected: '185843818', found: '631485635'