#include <iostream> using namespace std; void MaxSum(int *p,long N); int main() { int T = 0; long N = 0; int CaseNum = 1; cin >> T; while(T--) { cin >> N; int *p = new int [N]; for(int i = 0;i < N;i++) cin >> *(p + i); cout << "Case " << CaseNum <<":"<<endl; MaxSum(p,N); // 注意最後一行不換行 if(T) cout << endl; CaseNum ++; //內存管理 delete p; p = 0; } return 0; } void MaxSum(int *p,long N) { long maxsum = -1001; long tempsum = 0; long index_begin = 0; long index_end = 0; for(long i = 0;i < N;i++) { tempsum = * (p + i); if(tempsum > maxsum) { maxsum = tempsum; index_begin = index_end = i; } for(long j = i + 1; j < N;j++) { if(tempsum + * (p + j) < 0) break; else { tempsum += * (p + j); if(tempsum > maxsum) { maxsum = tempsum; index_begin = i; index_end = j; } } } } cout << maxsum << " " << index_begin + 1 << " " << index_end + 1<<endl; }