【前缀和】【贪心】[NOI Online #3 提高组] 水壶

L i n k Link

l u o g u   P 6568 luogu\ P6568

D e s c r i p t i o n Description

S a m p l e Sample I n p u t Input

10
5
890 965 256 419 296 987 45 676 976 742

S a m p l e Sample O u t p u t Output

3813

H i n t Hint

T r a i n Train o f of T h o u g h t Thought

这道题其实就是求一段数的和最大
前缀和搞定

k k 次操作其实得到的是长度为 k + 1 k + 1 的数列

C o d e Code

#include<iostream>
#include<cstdio>

using namespace std;

int n, k, x, ans;
int s[1000005];

int main()
{
	scanf("%d%d", &n, &k);
	for (int i = 1; i <= n; ++i)
	{
		scanf("%d", &x);
		s[i] = s[i - 1] + x;
	}
	for (int i = k + 1; i <= n; ++i)
		ans = max(ans, s[i] - s[i - k - 1]);
	printf("%d", ans);
}

猜你喜欢

转载自blog.csdn.net/LTH060226/article/details/107499533