Pagini recente » Cod sursa (job #808145) | Cod sursa (job #2229643) | Cod sursa (job #1193280) | Cod sursa (job #2832951) | Cod sursa (job #1893816)
#include <fstream>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
int s[6000005], l[6000005], pmax, lmax, smax;
int main() {
int n, x;
in >> n;
in >> x;
s[1] = x;
l[1] = 1;
pmax = 1;
for (int i = 2; i <= n; ++i) {
in >> x;
s[i] = max(s[i-1] + x, x);
if (s[i-1] + x >= x) {
l[i] = l[i-1] + 1;
} else {
l[i] = 1;
}
if (s[i] > smax) {
smax = s[i];
lmax = l[i];
pmax = i;
} else if (s[i] == smax) {
if (lmax > l[i]) {
lmax = l[i];
pmax = i;
}
}
}
out << smax << " " << pmax - lmax + 1 << " " << pmax;
return 0;
}