hdu 1858
题解:
该题与hdu1003一模一样。
代码如下:
#include <stdio.h> int main() { int n, m, i, stone, L, R, bL; __int64 sum, bsum; scanf("%d", &n); while (n--) { scanf("%d", &m); sum = -4444; //initialization sum bsum = 0; //sum in buffer bL = 1; //L of the buffer sum for (i=1; i<=m; i++) { scanf("%d", &stone); bsum += stone; if (sum < bsum) { sum = bsum; L = bL; R = i; } if (bsum < 0) {//reset buffer sum bsum = 0; bL = i + 1; } } printf("%I64d %d %d\n", sum, L, R); } return 0; }