最大连续子序列和多解――HDU 1003(二)

2015-07-20 17:09:45 ? 作者: ? 浏览: 5
比较每个区间,取最大值。

思路来自:http://blog.csdn.net/hcbbt/article/details/10454947

?

#include 
        
         
#include 
         
           #include 
          
            int main() { //freopen(in.txt, r, stdin); int T, w = 0; int n, num; int beg, end, max_s, tmp; int i, k; scanf(%d, &T); while(T--) { scanf(%d, &n); max_s = -(1<<30); tmp = 0; beg = end = k = 1; for(i=1; i<=n; i++){ scanf(%d, &num); tmp += num; if(tmp > max_s){ max_s = tmp; beg = k; end = i; } if(tmp < 0){ tmp = 0; k = i + 1; } } printf(Case %d: %d %d %d , ++w, max_s, beg, end); if(T) printf( ); } return 0; }
          
         
        


?

?

?

?

?

?

?

?

-->

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: