#include<iostream> #include<vector> using namespace std; typedef struct { int maxsum; int first; int end; }resultArryType; void OutResult(vector<int> vec, int num) { resultArryType resultArry; int max = 0; int numCount = 0; int maxsum = 0, sumtemp = 0; resultArry.maxsum = -1001; resultArry.end = 0; resultArry.first = 0; numCount = vec.size(); for (int i = 0; i < numCount; i++){ sumtemp = 0; for (int j = i; j < numCount; j++){ sumtemp += vec[j]; if (sumtemp > resultArry.maxsum){ resultArry.maxsum = sumtemp; resultArry.first = i + 1;; resultArry.end = j + 1; } if (resultArry.maxsum >sumtemp && sumtemp < 0) break; } } cout << "Case " << num << ":" << endl; cout << resultArry.maxsum << " " << resultArry.first << " " << resultArry.end << endl; } int main() { int num, temp; int first; vector<int> vec; cin >> num; for (int i = 0; i < num; i++){ first = 0; cin >> first; vec.clear(); for (int j = 0; j < first; j++){ cin >> temp; vec.push_back(temp); } OutResult(vec, i+1); if (i < num - 1) cout << endl; } }