Pagini recente » Cod sursa (job #1277155) | Cod sursa (job #2739946) | Cod sursa (job #1545545) | Cod sursa (job #1284925) | Cod sursa (job #1699189)
#include <iostream>
#include <fstream>
using namespace std;
int main() {
ifstream in("ssm.in");
ofstream out("ssm.out");
long n;
in>>n;
long s[n+1];
s[0] = 0;
for (long i = 1; i <= n; ++i) {
in>>s[i];
}
s[0] = 0;
int maxSum = INT32_MIN;
int min = 0, pozMin = 0, start, end;
for (int i = 1; i <= n; ++i ) {
s[i] += s[i-1];
if (s[i] - min > maxSum ) {
start = pozMin + 1;
end = i;
maxSum = s[i] - min;
}
if (s[i] < min) {
min = s[i];
pozMin = i;
}
}
out<<maxSum<<" "<<start<<" "<<end;
in.close();
out.close();
}