竞赛讨论区 > 萌新求救,请帮忙看一下这道题的代码错在哪里,感谢
头像
Acapplella
编辑于 2020-06-13 09:43
+ 关注

萌新求救,请帮忙看一下这道题的代码错在哪里,感谢

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
const int maxn = 200010;
//#define DEBUG
//#define WAR
#define BEGAIN
typedef long long ll;
ll s[maxn],q[maxn];
int a[maxn];
int main()
{
	int t;
	cin >> t;
	while (t--)
	{
		int n, k;
        //scanf("%d%d",&n,&k);
        cin>>n>>k;
		for (int i = 1;i <= n;i++)
		{
			cin >> a[i];
			s[i] = s[i - 1] + a[i];
		}
#ifdef DEBUG
		for (int i = 1;i <= n;i++)
			cout << s[i] << " ";
		cout << endl;
#endif
		for (int i = 1;k + i - 1 <= n;i++)
			q[i] = s[k + i - 1] - s[i - 1];
#ifdef WAR
		for (int i = 1;k + i - 1 <= n;i++)
			cout << q[i] << " ";
		cout << endl;
#endif
#ifdef BEGAIN
		ll sum = -0x3f3f3f3f,ans=-0x3f3f3f3f;
		for (int i = k+1;i<=n-k+1 ;i++)
		{
			sum = max(sum, q[i-k]);
			ans = max(ans, sum + q[i]);
		}
		cout << ans << endl;
#endif
	}
	return 0;
}

全部评论

(0) 回帖
加载中...
话题 回帖

本文相关内容

等你来战

查看全部

热门推荐