题意
多组输入, 给出 n 个数字, 输出这一组数中, 最长连续的区间和, 起点, 终点, 若果有多解保留第一个解
题解
一看数据范围 20 组 1e5 个数字, 想了想模拟会超时, 这应该是线段树或者差分数组的相关内容, 模拟就连写都没写直接pass, 打完一看 woc … 还真是模拟, 完全是水题啊
完全是我想的模拟的思路, 遍历这 n 个数, 每次加和, 同时维护区间最大值以及此区起点和终点, 如果区间和小于零, 初始化加和为零和起点指向遍历到当前的位置
再注意一下输出格式, 第一个 cas 不换行, 往后的都需要换行
发现了一只大佬的总结, 这一类问题的好几种解法
wxd大佬的最大连续和的总结
代码
#include <bits/stdc++.h>
using namespace std;
#define rg register
#define sc scanf
#define pf printf
typedef long