Pagini recente » Cod sursa (job #2752066) | Cod sursa (job #2693033) | Cod sursa (job #2693035) | Cod sursa (job #2671672) | Cod sursa (job #3358660)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
int main() {
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int N;
if (!(fin >> N)) return 0;
long long suma_maxima = -2000000000; // Valoare foarte mică pentru inițializare
long long suma_curenta = 0;
int start = 0, capat = 0;
int temp_start = 1;
for (int i = 1; i <= N; i++) {
long long x;
fin >> x;
suma_curenta += x;
if (suma_curenta > suma_maxima) {
suma_maxima = suma_curenta;
start = temp_start;
capat = i;
}
if (suma_curenta < 0) {
suma_curenta = 0;
temp_start = i + 1;
}
}
fout << suma_maxima << " " << start << " " << capat << "\n";
return 0;
}