QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#112917 | #362. Sparklers | He_Ren | 0 | 1ms | 3772kb | C++17 | 1.4kb | 2023-06-15 11:30:40 | 2023-06-15 11:30:41 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
const int MAXN = 1e5 + 5;
struct Data
{
ll a,b;
bool type(void) const { return a <= b;}
};
bool operator < (Data A,Data B)
{
if(A.type() != B.type()) return A.type();
return A.type()? A.a < B.a: A.b > B.b;
}
Data operator + (Data A,Data B)
{
ll sum = - A.a + A.b - B.a + B.b;
ll mn = min(- A.a, - A.a + A.b - B.a);
return Data{-mn, sum - mn};
}
void trim(vector<Data> &A)
{
reverse(A.begin(), A.end());
int pos = -1;
for(int i=0; i<(int)A.size(); ++i)
{
while(pos >= 0 && A[pos] < A[i])
A[i] = A[i] + A[pos--];
A[++pos] = A[i];
}
A.resize(pos+1);
reverse(A.begin(), A.end());
}
int n,m,d;
int a[MAXN];
bool chk(ll lim)
{
lim = lim * 2 * m;
vector<Data> A, B;
for(int i=d; i>1; --i)
A.push_back({a[i] - a[i-1], lim});
for(int i=d; i<n; ++i)
B.push_back({a[i+1] - a[i], lim});
trim(A); trim(B);
vector<Data> res(A.size() + B.size());
merge(A.begin(), A.end(), B.begin(), B.end(), res.begin());
trim(res);
Data sum{0, lim};
for(auto t: res)
sum = sum + t;
return sum.a == 0;
}
int main(void)
{
scanf("%d%d%d",&n,&d,&m);
for(int i=1; i<=n; ++i)
scanf("%d",&a[i]);
int l = 1, r = 1e9;
while(l<r)
{
int mid = (l+r)>>1;
if(chk(mid)) r = mid;
else l = mid+1;
}
printf("%d\n",l);
return 0;
}
详细
Subtask #1:
score: 0
Wrong Answer
Test #1:
score: 20
Accepted
time: 1ms
memory: 3652kb
input:
10 9 2 0 1117660 2284171 3390084 3568342 4222750 5180454 6186411 6360445 6519656
output:
181102
result:
ok single line: '181102'
Test #2:
score: 0
Accepted
time: 1ms
memory: 3740kb
input:
3 2 1 0 368765 1493921
output:
373481
result:
ok single line: '373481'
Test #3:
score: 0
Accepted
time: 0ms
memory: 3668kb
input:
9 8 4 0 1970871 2488111 3723411 5581758 7596649 8984403 9989980 10451978
output:
168215
result:
ok single line: '168215'
Test #4:
score: 0
Accepted
time: 0ms
memory: 3768kb
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: 0
Accepted
time: 1ms
memory: 3624kb
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: 0
Accepted
time: 1ms
memory: 3636kb
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
Accepted
time: 1ms
memory: 3712kb
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: 0
Accepted
time: 1ms
memory: 3644kb
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: 0
Accepted
time: 1ms
memory: 3720kb
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: 0
Accepted
time: 0ms
memory: 3772kb
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: 0
Accepted
time: 1ms
memory: 3648kb
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
Accepted
time: 1ms
memory: 3636kb
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:
25317
result:
ok single line: '25317'
Test #13:
score: 0
Accepted
time: 1ms
memory: 3624kb
input:
20 20 1 0 560429 1501879 2074034 3034586 3927746 4203223 4704487 5719669 6398636 6727143 7650938 8442426 9196467 9374450 9518016 10137750 10914536 11539863 12123154
output:
330901
result:
ok single line: '330901'
Test #14:
score: 0
Accepted
time: 1ms
memory: 3640kb
input:
20 18 1 0 238996 608018 1366723 1785069 2539784 3289307 3602420 4757227 5445099 5644989 6150519 7171436 7964903 9199069 9472670 10160202 11298237 11504431 12150241
output:
374983
result:
ok single line: '374983'
Test #15:
score: 0
Accepted
time: 1ms
memory: 3664kb
input:
20 16 1 0 260310 303643 510297 1043552 1456874 1889988 2034528 2320694 2791007 3106279 3221006 3686585 4034261 4101785 4113243 4346119 4405697 4733785 5087878
output:
139122
result:
ok single line: '139122'
Test #16:
score: 0
Accepted
time: 1ms
memory: 3664kb
input:
20 8 1 0 484204 551742 1091736 1375852 1491742 1695121 2025199 2649991 2689456 3395295 4015308 4099000 4429963 4591520 5011483 5300133 5567208 6302488 6642143
output:
176556
result:
ok single line: '176556'
Test #17:
score: 0
Accepted
time: 1ms
memory: 3632kb
input:
20 6 1 0 62927 133948 189568 367293 532858 671097 693145 766893 880530 939114 944530 1061492 1137014 1312489 1390117 1549261 1657553 1800303 1929758
output:
69120
result:
ok single line: '69120'
Test #18:
score: 0
Accepted
time: 0ms
memory: 3640kb
input:
20 14 1 0 223799 635453 1081261 1241909 1496302 1622006 1780758 1882704 2140804 2503655 2564678 2565246 3012521 3485082 3933129 3986311 4363178 4395662 4701534
output:
223638
result:
ok single line: '223638'
Test #19:
score: -20
Wrong Answer
time: 1ms
memory: 3764kb
input:
20 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
output:
1
result:
wrong answer 1st lines differ - expected: '0', found: '1'
Subtask #2:
score: 0
Skipped
Dependency #1:
0%
Subtask #3:
score: 0
Skipped
Dependency #1:
0%