Pagini recente » Cod sursa (job #2309594) | Cod sursa (job #2677746) | Cod sursa (job #3270768) | Cod sursa (job #2944403) | Cod sursa (job #3292665)
import java.io.*;
public class Main {
public final static String INPUT_FILE = "ssm.in";
public final static String OUTPUT_FILE = "ssm.out";
static class Task {
int n;
int[] s;
public void solve() throws IOException {
readInput();
getResult();
}
private void readInput() throws IOException {
BufferedReader reader = new BufferedReader(new FileReader(INPUT_FILE));
n = Integer.parseInt(reader.readLine());
s = new int[n];
String[] parts = reader.readLine().split(" ");
for (int i = 0; i < n; i++) {
s[i] = Integer.parseInt(parts[i]);
}
reader.close();
}
private void getResult() throws IOException {
int maxSum = s[0], currentSum = s[0];
int start = 0, end = 0, tempStart = 0;
for (int i = 1; i < n; i++) {
if (currentSum < 0) {
currentSum = s[i];
tempStart = i;
} else {
currentSum += s[i];
}
if (currentSum > maxSum) {
maxSum = currentSum;
start = tempStart;
end = i;
}
}
PrintWriter out = new PrintWriter(new FileWriter(OUTPUT_FILE));
out.println(maxSum + " " + (start + 1) + " " + (end + 1));
out.close();
}
}
public static void main(String[] args) throws IOException {
new Task().solve();
}
}