QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#647157 | #362. Sparklers | KiharaTouma | 0 | 0ms | 3956kb | C++14 | 1.1kb | 2024-10-17 12:10:40 | 2024-10-17 12:10:41 |
answer
//qoj362
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N = 1e5 + 10;
int n, k, T, a[N];
bool chk(int val){
int l = k, r = k, sum = T * val * 2;
while(l != 1 && r != n){
int x = a[l] - a[l-1];
int y = a[r+1] - a[r];
if(min(x, y) > sum) return 0;
if(x < y){
sum = sum + T * val * 2 - x;
-- l;
} else {
sum = sum + T * val * 2 - y;
++ r;
}
}
while(l != 1){
int x = a[l] - a[l-1];
if(x > sum) return 0;
sum = sum + T * val * 2 - x;
-- l;
}
while(r != n){
int y = a[r+1] - a[r];
if(y > sum) return 0;
sum = sum + T * val * 2 - y;
++ r;
}
return 1;
}
signed main(){
scanf("%lld%lld%lld", &n, &k, &T);
for(int i = 1; i <= n; ++ i){
scanf("%lld", &a[i]);
}
int l = 0, r = 1e9;
while(l < r){
int mid = l + r >> 1;
if(chk(mid)){
r = mid;
} else {
l = mid + 1;
}
}
printf("%lld\n", l);
return 0;
}
详细
Subtask #1:
score: 0
Wrong Answer
Test #1:
score: 20
Accepted
time: 0ms
memory: 3896kb
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: 3824kb
input:
3 2 1 0 368765 1493921
output:
373481
result:
ok single line: '373481'
Test #3:
score: 20
Accepted
time: 0ms
memory: 3776kb
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: 3956kb
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: 3912kb
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: 3956kb
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: 0
Wrong Answer
time: 0ms
memory: 3900kb
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:
195981
result:
wrong answer 1st lines differ - expected: '173188', found: '195981'
Subtask #2:
score: 0
Skipped
Dependency #1:
0%
Subtask #3:
score: 0
Skipped
Dependency #1:
0%