题目
题意:给定r序列和b序列,现在在不改动r序列和b序列内部顺序的前提下,将r和b序列凑成a序列,使得a序列的最大前缀和最大。求解该值。
题解:分别求解r序列和b序列的最大前缀和,相加即可。
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int maxn = 1010;
int n, m;
int a[maxn];
int cal() {
scanf("%d", &n);
for (int i = 0; i < n; ++i)
scanf("%d", &a[i]);
int sum = 0;
int cur = 0;
for (int i = 0; i < n; ++i) {
cur += a[i];
sum = max(sum, cur);
}
return sum;
}
int main() {
int t;scanf("%d", &t);
while (t--) {
int sum = cal();
sum += cal();
printf("%d\n", sum);
}
}