Pagini recente » Cod sursa (job #2187373) | Cod sursa (job #886014) | Cod sursa (job #2538133) | Cod sursa (job #1879256) | Cod sursa (job #2526779)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("ssm.in");
ofstream fout ("ssm.out");
/* 20 de nr: -20 -19 -18 -17 -16 -15 -14 -13 -1 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2
*/
int main()
{
int n, v, dp[6000001], m, ind, f, s, smax, nmax, ok=1, in;
fin >> n >> v;
dp[1]=v;
smax=v;
nmax=v;
in=1;
ind=1;
f=1;
s=1;
for (int i=2; i<=n; ++i) {
fin >> v;
if (dp[i-1]<0) {
dp[i]=v;
ind=i;
if (dp[i]>nmax) { nmax=dp[i]; in=i;}
} else {
dp[i]=dp[i-1]+v;
if (smax<dp[i]) {
s=ind;
f=i;
smax=dp[i];
}
ok=0;
}
}
if (ok==0) fout << smax << " " << s << " " << f;
else fout << nmax << " " << in << " " << in;
return 0;
}