QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#440326 | #362. Sparklers | ltunjic | 0 | 0ms | 1656kb | C++14 | 976b | 2024-06-13 16:22:55 | 2024-06-13 16:22:58 |
answer
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
typedef long long ll;
const int N = 1e5 + 10;
const int OO = 1e9 + 10;
int n, t, k, A[N];
ll B[N];
bool solve(int l, int r, int lo, int hi) { // lo <= l | r <= hi
int l_ = l, r_ = r;
for(; lo >= 0 && B[lo] >= B[r]; --lo) {
if(B[lo] > B[l_]) {
l_ = lo;
}
}
for(; hi < n && B[hi] <= B[l]; ++hi) {
if(B[hi] < B[r_]) {
r_ = hi;
}
}
if(lo < 0 && hi >= n) { return 1; }
if(l == l_ && r == r_) { return 0; }
return solve(l_, r_, lo, hi);
}
int main() {
scanf("%d%d%d", &n, &k, &t);
for(int i = 0; i < n; ++i) { scanf("%d", A + i); }
int lo = -1, hi = OO / t + 1;
for(int mi = (lo + hi) / 2; hi - lo > 1; mi = (lo + hi) / 2) {
for(int i = 0; i < n; ++i) {
B[i] = A[i] - (ll) 2 * mi * t * i;
}
if(solve(k - 1, k - 1, k - 1, k - 1)) { hi = mi; }
else { lo = mi; }
}
printf("%d\n", hi);
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 0
Wrong Answer
Test #1:
score: 20
Accepted
time: 0ms
memory: 1604kb
input:
10 9 2 0 1117660 2284171 3390084 3568342 4222750 5180454 6186411 6360445 6519656
output:
181102
result:
ok single line: '181102'
Test #2:
score: 20
Accepted
time: 0ms
memory: 1600kb
input:
3 2 1 0 368765 1493921
output:
373481
result:
ok single line: '373481'
Test #3:
score: 20
Accepted
time: 0ms
memory: 1600kb
input:
9 8 4 0 1970871 2488111 3723411 5581758 7596649 8984403 9989980 10451978
output:
168215
result:
ok single line: '168215'
Test #4:
score: 20
Accepted
time: 0ms
memory: 1592kb
input:
20 18 1 0 462590 635597 1653028 1731039 2632280 2993419 3958675 4824859 4923991 5874922 6721441 7856685 8109245 8187843 8916119 9662776 10617094 11598860 11759660
output:
477159
result:
ok single line: '477159'
Test #5:
score: 20
Accepted
time: 0ms
memory: 1616kb
input:
20 19 1 0 16714 600564 1738550 2860146 3233681 3470376 3511936 4127893 5089595 5771375 5923055 6712524 7645593 7839588 7939256 8270988 8365309 8565641 8764207
output:
242986
result:
ok single line: '242986'
Test #6:
score: 20
Accepted
time: 0ms
memory: 1656kb
input:
20 19 1 0 360130 416278 565928 1137578 1907790 2582414 3700996 4219574 4315031 4708493 5703532 6750886 7008779 7292334 7354499 8425871 8951795 9692673 9903623
output:
318641
result:
ok single line: '318641'
Test #7:
score: 20
Accepted
time: 0ms
memory: 1544kb
input:
20 3 1 0 497352 601758 1175884 1245741 1585758 1746236 2367513 2732420 2739779 3351827 3525038 4143423 4321819 5000239 5107430 5312137 5958753 6370846 6513352
output:
173188
result:
ok single line: '173188'
Test #8:
score: 20
Accepted
time: 0ms
memory: 1540kb
input:
20 7 1 0 416112 1276119 1776741 1971354 3051516 3964787 4752968 5114629 5456785 5783476 6450733 7492246 8117636 8726706 9380206 9424138 9680412 10381694 11143315
output:
394091
result:
ok single line: '394091'
Test #9:
score: 20
Accepted
time: 0ms
memory: 1608kb
input:
20 17 1 0 418275 1609767 2826602 4126911 5045015 5863900 5903447 6048863 6976925 7826789 8397913 8479522 9312544 9618482 9751692 10846799 12065875 12985857 14274374
output:
547554
result:
ok single line: '547554'
Test #10:
score: 20
Accepted
time: 0ms
memory: 1636kb
input:
20 5 1 0 636862 675532 1067405 2149723 2433765 3448119 4927611 5075453 6024114 6742671 7335495 8053680 9461089 10479891 11154362 11537902 11790723 12326305 13349359
output:
374282
result:
ok single line: '374282'
Test #11:
score: 20
Accepted
time: 0ms
memory: 1592kb
input:
20 9 1 0 253324 316843 568058 673961 952771 1319011 1398887 1748830 1895752 2246598 2269716 2344119 2451418 2690003 2985338 3065614 3143399 3495892 3568533
output:
124217
result:
ok single line: '124217'
Test #12:
score: 0
Wrong Answer
time: 0ms
memory: 1536kb
input:
20 11 1 0 51952 61227 162819 249127 306399 334761 382780 449122 509397 542856 610609 616723 637063 646745 686393 770737 862074 908186 946759
output:
25303
result:
wrong answer 1st lines differ - expected: '25317', found: '25303'
Subtask #2:
score: 0
Skipped
Dependency #1:
0%
Subtask #3:
score: 0
Skipped
Dependency #1:
0%