Cod sursa(job #1342299)

Utilizator bugyBogdan Vlad bugy Data 13 februarie 2015 19:38:27
Problema Subsecventa de suma maxima Scor 0
Compilator java Status done
Runda Arhiva educationala Marime 0.93 kb
package ssm;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class Main {

	public static void main(String[] args) throws IOException {

		BufferedReader bufferReader = new BufferedReader(new FileReader("ssm.in"));
		
		String s = bufferReader.readLine();
		int n = Integer.parseInt(s);
		s = bufferReader.readLine();
		
		bufferReader.close();
		
		String[] numbers = s.split(" ");
				
		int x, min = Integer.MAX_VALUE, max = 0, indMin = 1, ind1 = 0, ind2 = 0;
		int[] v = new int[n+1];
		for (int i = 1; i <= n; i++) {
			x = Integer.parseInt(numbers[i-1]);
			v[i] = v[i-1] + x; 
			if (min > v[i]) {
				min = v[i];
				indMin = i;
			}
			if (max < v[i] - min) {
				max = v[i] - min;
				ind1 = indMin+1;
				ind2 = i;
			}
			if (max < v[i]) {
				max = v[i];
				indMin = ind1 = 1;
			}
		}
		System.out.println(max + " " + ind1 + " " + ind2);
		
	}
}