子串和 (nyoj 44)

xiaoxiao2021-02-28  55

思路:每次读入一个数值v,先让其累加在sum中,max则取所有sum中的最大值,若sum小于0,则让sum直接置0,从新计数。

#include<stdio.h> int main(void) { int n,m; // n 组测试数据 m 每组数据子串数 int i,v,sum,max; scanf("%d",&n); while(n--) { sum=0; max=-101; scanf("%d",&m); for(i=0;i<m;i++) { scanf("%d",&v); sum=v+sum; if(max<sum) { max=sum; } if(sum<0) { sum=0; } } printf("%d\n",max); } return 0; }

 

转载请注明原文地址: https://www.6miu.com/read-2150349.html

最新回复(0)