Pagini recente » Istoria paginii runda/pregatire_sibiu2/clasament | Cod sursa (job #2167060) | Cod sursa (job #1910421) | Cod sursa (job #751533) | Cod sursa (job #1663087)
import java.io.FileInputStream;
import java.io.PrintWriter;
import java.util.Scanner;
public class Main {
private static int[] requests;
public static void main(String[] args) throws Exception {
readInput();
analize(requests);
}
private static void readInput() throws Exception {
Scanner scanner = new Scanner(new FileInputStream("ssm.in"));
int numberOfRequests = scanner.nextInt();
requests = new int[numberOfRequests];
for (int i = 0; i < numberOfRequests; ++i) {
requests[i] = scanner.nextInt();
}
}
public static void analize(int[] requests) throws Exception {
int max = requests[0];
int prec = requests[0];
int pstart = 0;
int start = 0;
int end = 0;
for (int i = 1; i < requests.length; i++) {
if (prec + requests[i] < requests[i]) {
prec = requests[i];
pstart = i;
} else {
prec += requests[i];
}
if (prec > max) {
max = prec;
start = pstart;
end = i;
}
}
PrintWriter stream = new PrintWriter("ssm.out");
stream.printf("%d %d %d", max, start + 1, end + 1);
stream.close();
}
}