Pagini recente » Cod sursa (job #2423549) | Cod sursa (job #1429864)
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException {
Scanner reader = new Scanner(new File("ssm.in"));
int N = reader.nextInt(); // lungimea sirului
int s_cur = 0, idx = 0, istart = 0, iend = 0;
int smax = -99999;
int a[] = new int[N];
// afiV(a);
// parcurgem vectorul de numere
for (int i = 0; i < N; i++) {
// facem si citirea tot aici pentru a u depasi limita de spatiu
a[i] = reader.nextInt();
System.out.println(a);
// daca suma este negativa index = i si suma = a[i]
if (s_cur < 0) {
s_cur = a[i];
idx = i;
} else {// else adaugam la suma suma+=a[i]
s_cur += a[i];
}
// daca dupa ce am adugat noul element suma a ajuns mai mare decat ce mai mare suma
if (smax < s_cur) {
// ce mai mare suma ia valoarea sumei curente
smax = s_cur;
// indexul de inceput ia valoarea index ce retine pozitia de unde suma a inceput sa
// creasca
istart = idx;
// indexul de sfarsit ia valoarea lui i
iend = i;
}
}
PrintWriter writer = new PrintWriter("ssm.out");
writer.write(String.valueOf(smax) + " " + (istart + 1) + " " + (iend + 1) + "\n");
writer.close();
reader.close();
}
public static void afiV(int[] v) {
for (int i = 0; i < v.length; i++) {
System.out.println(v[i]);
}
}
}