Cod sursa(job #3268402)

Utilizator lucky1992Ion Ion lucky1992 Data 14 ianuarie 2025 21:52:19
Problema Subsecventa de suma maxima Scor 70
Compilator java Status done
Runda Arhiva educationala Marime 1.12 kb
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;

public class Main {
  public static void main(String[] args) throws IOException {
    try (Scanner scanner = new Scanner(new FileInputStream("ssm.in"));
//         BufferedReader reader = new BufferedReader(new FileReader("ssm.in"));
         BufferedWriter writer = new BufferedWriter(new FileWriter("ssm.out"), 1024)) {
      int N = scanner.nextInt();
      int[] a = new int[N+1];

      //StringTokenizer st = new StringTokenizer(reader.readLine());
      for (int i = 1; i <= N; i++) {
        a[i] = scanner.nextInt();
      }

//      st = null;

      int sum = a[1];
      int maxSum = sum;
      int first = 1;
      int start = 1;
      int end = 1;

      for (int i = 2; i <= N; i++) {
        if (sum >= 0) {
          sum += a[i];
        } else {
          sum = a[i];
          first = i;
        }

        if (sum > maxSum) {
          maxSum = sum;
          start = first;
          end = i;
        }
      }

      writer.write(maxSum + " " + start + " " + end);
    }
  }
}