Cod sursa(job #1672592)

Utilizator StefanRARapeanu-Andreescu Stefan StefanRA Data 2 aprilie 2016 21:21:20
Problema Subsecventa de suma maxima Scor 0
Compilator java Status done
Runda Arhiva educationala Marime 0.91 kb
import java.io.*
import java.util.Scanner;

public class Main
{
	public static void main()
	{
		try
		{
			FileInputStream fin = new FileInputStream("ssm.in");
			Scanner sc = new Scanner(fin);
			int n, x;
			int currentSum=0, i=0;
			int bestSum=-(1<<31), left, right;
			int n = sc.nextInt();
			for (int j=0;j<n;++j)
			{
				x = sc.nextInt();
				if (currentSum < 0)
					currentSum = x, i = j;
				else
					currentSum += x;
				if (bestSum < currentSum)
					bestSum = currentSum, left = i, right = j;
			}
			sc.close();
			fin.close();
			FileOutputStream fout = new FileOutputStream("ssm.out");
			DataOutputStream out = new DataOutputStream(fout);
			out.writeBytes(Integer.toString(bestSum) + " " + Integer.toString(left) + " " + Integer.toString(right));
			out.close();
			fout.close();
		}
		catch (IOException e)
		{
			System.err.println("Eroare la citire/scriere");
		}
	}
}