Cod sursa(job #1504597)

Utilizator dragangabrielDragan Andrei Gabriel dragangabriel Data 17 octombrie 2015 22:27:09
Problema Subsecventa de suma maxima Scor 50
Compilator java Status done
Runda Arhiva educationala Marime 1.4 kb
//package com.company;

import java.io.*;
import java.util.*;

public class Main{

    static int max(int x, int y)
    {
        if (x > y ) return x;
        return y;
    }
        public static void main(String[] args) throws IOException {

            Scanner reader = new Scanner(new FileReader("ssm.in"));
            PrintWriter writer = new PrintWriter("ssm.out");

            int n = reader.nextInt();
            int rez = reader.nextInt(), sumP = rez;
            int indexS = 1, indexF = 1;
            int rezIn = 1, rezF = 1;

            for (int i = 2; i <= n; i++) {
                int x = reader.nextInt();
                if (rez + x >= x) {
                    indexF++;
                    rez += x;
                    if (rez > sumP)
                    {
                        sumP = rez;
                        rezIn = indexS;
                        rezF = indexF;
                    }
                } else
                {
                    rez = x;
                    indexS = indexF = i;
                    if (rez > sumP)
                    {
                        sumP = rez;
                        rezIn = indexS;
                        rezF = indexF;
                    }
                }
            }

            writer.println(sumP + " " + rezIn + " " + rezF);
            reader.close();
            writer.close();
    }
}