/*
* UVa 507 Jill Rides Again
* */
import java.util.Scanner;
class Main {
static final int MAX = 20005;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int b = scanner.nextInt();
int[] arr = new int[MAX];
for (int i = 1; i <= b; i++) {
int s = scanner.nextInt();
for (int j = 1; j < s; j++) {
arr[j] = scanner.nextInt();
}
int min = 0;
int best = Integer.MIN_VALUE;
int[] sum = new int[s];
sum[0] = 0;
int oldStart = 1, oldEnd = 1;
int start = 1;
for (int j = 1; j < s; j++) {// sum[j]记录从arr[1]...arr[j]的和
sum[j] = sum[j - 1] + arr[j];
if (sum[j] - min > best) {
best = sum[j] - min;// 更新best的值
oldEnd = j + 1;
oldStart = start;
} else if (sum[j] - min == best
&& (j - start + 1) > (oldEnd - oldStart)) {// best相等且当前最优长度比原来大
// 更新oldStart和 oldEnd
oldStart = start;
oldEnd = j + 1;
}
if (sum[j] < min) {
min = sum[j];// 更新min的值
start = j + 1; // 更新start
}
}
if (best > 0) {
System.out.println("The nicest part of route " + i
+ " is between stops " + oldStart + " and " + oldEnd);
} else {
System.out.println("Route " + i + " has no nice parts");
}
}
}
}
UVa 507 Jill Rides Again
最新推荐文章于 2016-07-27 22:50:36 发布