QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#112917#362. SparklersHe_Ren0 1ms3772kbC++171.4kb2023-06-15 11:30:402023-06-15 11:30:41

Judging History

你现在查看的是最新测评结果

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-06-15 11:30:41]
  • 评测
  • 测评结果:0
  • 用时:1ms
  • 内存:3772kb
  • [2023-06-15 11:30:40]
  • 提交

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;
}

Details

Tip: Click on the bar to expand more detailed information

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%