UOJ Logo

NOI.AC

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#203795#2793. 小明的区间tkswls1003762ms2032kbC++11779b2024-03-23 10:39:242024-03-23 12:00:20

answer

#include<bits/stdc++.h>
#define int long long
#pragma GCC optimize(2)
using namespace std;
int a[100005];
inline int calc(int p, int l, int r) {
	p = a[p];
	if (p < l) return l - p;
	else if (p > r) return p - r;
	return 0;
}
int n, l, r, ans, cnt, m, k;
signed main() {
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	cin >> n >> m >> k;
	for (int i = 1; i <= n; i++) {
		cin >> a[i];
	}
	for (int ll = 0, rr = k - 1; rr <= 600; ll++, rr++) {
		cnt = calc(1, ll, rr), r = 1;
		for (int i = 1; i <= n; i++) {
			if (r < i) {
				cnt = calc(i, ll, rr), r = i;
			}
			while (r < n && cnt + calc(r + 1, ll, rr) <= m) {
				r++;
				cnt += calc(r, ll, rr);
			}
			ans = max(ans, r - i + 1);
			cnt -= calc(i, ll, rr);
		}
	}
	cout << ans;
}

Details

小提示:点击横条可展开更详细的信息

Test #1:

score: 10
Accepted
time: 0ms
memory: 1240kb

input:

10 341 22
335 101 570 125 79 559 563 465 306 546

output:

5

result:

ok single line: '5'

Test #2:

score: 10
Accepted
time: 0ms
memory: 1244kb

input:

10 341 22
335 101 570 125 79 559 563 465 306 546

output:

5

result:

ok single line: '5'

Test #3:

score: 10
Accepted
time: 2ms
memory: 1244kb

input:

300 3041 22
335 101 570 125 79 559 563 465 306 546 482 28 362 492 596 543 28 37 592 205 303 154 293 ...

output:

31

result:

ok single line: '31'

Test #4:

score: 10
Accepted
time: 2ms
memory: 1248kb

input:

300 3041 22
335 101 570 125 79 559 563 465 306 546 482 28 362 492 596 543 28 37 592 205 303 154 293 ...

output:

31

result:

ok single line: '31'

Test #5:

score: 10
Accepted
time: 21ms
memory: 1272kb

input:

3000 3041 22
335 101 570 125 79 559 563 465 306 546 482 28 362 492 596 543 28 37 592 205 303 154 293...

output:

32

result:

ok single line: '32'

Test #6:

score: 10
Accepted
time: 823ms
memory: 2032kb

input:

100000 3041 1
335 101 570 125 79 559 563 465 306 546 482 28 362 492 596 543 28 37 592 205 303 154 29...

output:

34

result:

ok single line: '34'

Test #7:

score: 10
Accepted
time: 458ms
memory: 2024kb

input:

100000 0 22
335 101 570 125 79 559 563 465 306 546 482 28 362 492 596 543 28 37 592 205 303 154 293 ...

output:

5

result:

ok single line: '5'

Test #8:

score: 10
Accepted
time: 824ms
memory: 2028kb

input:

100000 3041 22
335 101 570 125 79 559 563 465 306 546 482 28 362 492 596 543 28 37 592 205 303 154 2...

output:

38

result:

ok single line: '38'

Test #9:

score: 10
Accepted
time: 814ms
memory: 2028kb

input:

100000 3410 33
448 218 7 528 500 189 533 304 97 45 302 255 254 206 419 27 483 224 31 418 212 514 212...

output:

45

result:

ok single line: '45'

Test #10:

score: 10
Accepted
time: 818ms
memory: 2032kb

input:

100000 122582 17
548 524 421 591 272 159 310 153 404 266 398 161 425 468 46 350 209 229 47 573 166 1...

output:

928

result:

ok single line: '928'