# HDOJ-1003: Maximum Continuous Sum

Time：2019-10-9

The title of HDOJ-1003 is as follows
Problem Description
Given a sequence a,a,a……a[n], your job is to calculate the max sum of a sub-sequence. For example, given (6,-1,5,4,-7), the max sum in this sequence is 6 + (-1) + 5 + 4 = 14.

Input
The first line of the input contains an integer T(1<=T<=20) which means the number of test cases. Then T lines follow, each line starts with a number N(1<=N<=100000), then N integers followed(all the integers are between -1000 and 1000).

Output
For each test case, you should output two lines. The first line is “Case #:”, # means the number of the test case. The second line contains three integers, the Max Sum in the sequence, the start position of the sub-sequence, the end position of the sub-sequence. If there are more than one result, output the first one. Output a blank line between two cases.

Sample Input
2
5 6 -1 5 4 -7
7 0 6 -1 1 -6 7 -5

Sample Output
Case 1:
14 1 4

Case 2:
7 1 6

Given an array, find a continuous subarray in it, make it and the maximum, and output the maximum, as well as the left and right index numbers of the interval. (This output format is really annoying)
The general idea is to add up, if the current value is greater than the maximum set, then exchange. And record the left and right indexes at this time, otherwise continue to accumulate. If this time is less than 0, then discard it directly.

``````#include <iostream>
#include <algorithm>
using namespace std;
int a;
int main(){
int number;
cin >> number;

for(int i = 1; i <= number; i++){
int max = INT_MIN;
int t,left, right;
cin >> t;
left = right = 1;
int m = 1;
int sum = 0;
for(int j = 1; j <= t; j++){
cin >> a[i];
sum += a[i];
if(sum > max){
max = sum;
right = j;
left = m;
}
if(sum < 0){
sum = 0;
m = j + 1;
}
}
cout << "Case " << i << ":" << endl;
cout << max << " "<< left << " " << right << endl;
if( i < number )
cout << endl;
}
system("pause");
return 0;
}``````

## Everything in ruby and metaprogramming is an object

Opening chapter Emptiness is color, and color is emptiness.In Ruby language, everything is an object. Ruby is an object-oriented language, and the concept of object-oriented is much stronger than other languages. There is no difference between primitive type data and object type data in Java in ruby. Most things in ruby are objects. So, to […]