Luogu CF1469B 题解
这道题其实并不难。
题目大意是这样的:已知两个序列 \(r\) 和 \(b\),求出合并后的最大前缀和。
很好发现:答案就是 \(r\) 和 \(b\) 各自的最大前缀和之和。
但要注意:\(r\) 和 \(b\) 可以什么都不取,因此 \(maxa\) 和 \(maxb\) 初始要赋值为 \(0\)。
AC Code:
#include<iostream>
using namespace std;
int t;
int n,m;
int sa,sb;// sb 只是巧合
int main(){
cin>>t;//多测
while(t--){
cin>>n;
sa=0,sb=0;//初始化
int maxa=0,maxb=0;//记得要赋值为 0
for(int i=1;i<=n;i++){
int a;
cin>>a;
sa+=a;
maxa=max(maxa,sa);//求最大前缀和
}
cin>>m;
for(int i=1;i<=m;i++){
int b;
cin>>b;
sb+=b;
maxb=max(maxb,sb);//求最大前缀和
}
cout<<maxa+maxb<<endl;//输出答案
}
return 0;// return 0 是一个好习惯
}
作者:I_like_magic
出处:https://www.cnblogs.com/I-like-magic/
如果您觉得阅读本文对您有帮助,请点击一下右下方的推荐按钮,您的推荐将是我写作的最大动力!
版权声明:本文为博主原创或转载文章,欢迎转载,但转载文章之后必须在文章页面明显位置注明出处,否则保留追究法律责任的权利。
出处:https://www.cnblogs.com/I-like-magic/
如果您觉得阅读本文对您有帮助,请点击一下右下方的推荐按钮,您的推荐将是我写作的最大动力!
版权声明:本文为博主原创或转载文章,欢迎转载,但转载文章之后必须在文章页面明显位置注明出处,否则保留追究法律责任的权利。

浙公网安备 33010602011771号