Pagini recente » Istoria paginii runda/oni-2009-ix | Cod sursa (job #1841916) | Cod sursa (job #1360248) | Cod sursa (job #2509362) | Cod sursa (job #2526766)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("ssm.in");
ofstream fout ("ssm.out");
int main()
{
int n, v[6000001], dp[6000001], start[6000001], m, im=1;
fin >> n;
for (int i=1; i<=n; ++i) {
fin >> v[i];
}
dp[1]=v[1];
start[1]=1;
for (int i=2; i<=n; ++i) {
if (dp[i-1]<0) {
dp[i]=v[i];
start[i]=i;
} else {
dp[i]=dp[i-1]+v[i];
start[i]=start[i-1];
}
}
m=dp[1];
for (int i=2; i<=n; ++i) {
if (dp[i]>m) {
m=dp[i];
im=i;
}
}
fout << m << " " << start[im] << " " << im;
return 0;
}