QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#124529#362. SparklersAdam_GS#0 1ms3584kbC++17992b2023-07-15 04:48:252024-07-04 00:40:51

Judging History

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

  • [2024-07-04 00:40:51]
  • 评测
  • 测评结果:0
  • 用时:1ms
  • 内存:3584kb
  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-07-15 04:48:25]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
typedef long double ld;
typedef long long ll;
#define rep(a, b) for(int a = 0; a < (b); ++a)
#define st first
#define nd second
#define pb push_back
#define all(a) a.begin(), a.end()
const ld EPS=1e-9;
const ll INF=1e9+7;
const int LIM=1e5+7;
ll T[LIM], n, k, t;
bool check(ll s) {
	ld p=t;
	for(int i=k; i<n-1; ++i) {
		p-=(ld)T[i]/(ld)(2*s);
		if(p<-EPS) return false;
		p+=t;
	}
	for(int i=k-1; i>=0; --i) {
		p-=(ld)T[i]/(ld)(2*s);
		if(p<-EPS) return false;
		p+=t;
	}
	return true;
}
ll solve(vector<ll>P) {
	rep(i, n-1) T[i]=P[i+1]-P[i];
	ll po=0, ko=INF;
	while(po<ko) {
		ll sr=(po+ko)/2;
		if(check(sr)) ko=sr; else po=sr+1;
	}
	return po;
}
int main() {
	ios_base::sync_with_stdio(0); cin.tie(0);
	cin >> n >> k >> t; --k;
	vector<ll>P(n);
	rep(i, n) cin >> P[i];
	ll ans=solve(P);
	rep(i, n) P[i]=P[n-1]-P[i];
	reverse(all(P));
	k=n-k-1;
	ans=min(ans, solve(P));
	cout << ans << '\n';
}

詳細信息

Subtask #1:

score: 0
Wrong Answer

Test #1:

score: 20
Accepted
time: 1ms
memory: 3580kb

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: 1ms
memory: 3532kb

input:

3 2 1
0
368765
1493921

output:

373481

result:

ok single line: '373481'

Test #3:

score: 20
Accepted
time: 1ms
memory: 3476kb

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: 1ms
memory: 3584kb

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: 3568kb

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: 1ms
memory: 3464kb

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: 1ms
memory: 3576kb

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%