Educational Codeforces Round 90 (Rated for Div. 2)
D. Maximum Sum on Even Positions
解题思路:首先将问题的多种不同情况列出来,发现有两种情况。
这种数组的问题好像经常会有差分数组的构造。,下次解不出来构造一下差分数组。
由于求的是连续的,所以构造差分数组,后求连续子段和,并且复杂度是O(n),满足。
#include <bits/stdc++.h>
using namespace std;
const int N=2e5+10;
typedef long long ll;
const int inf=0x7fffffff;
const int in=1e9+7;
int n,m;
int a[N],s1[N],s2[N];
int main()
{
int t;
cin>>t;
while(t--)
{
memset(s1,0,sizeof(s1));
memset(s2,0,sizeof(s2));
int n,cnt1=0,cnt2=0;
cin>>n;
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
for(int i=2;i<=n;i+