Pagini recente » Cod sursa (job #296484) | Cod sursa (job #1409962) | Cod sursa (job #132675) | Cod sursa (job #1724779) | Cod sursa (job #1596874)
#include <iostream>
#include <fstream>
#define Max(a,b) a>b ? a:b
using namespace std;
fstream f;
int n,i,s[6000000],best[6000000];
int Max,st,fin,k;
int main()
{
f.open("ssm.in",ios::in);
f>>n;
for (i=0;i<n;i++)
{
f>>s[i];
}
best[0]=s[0];
for (i=1;i<n;i++)
{
best[i]=Max(best[i-1]+s[i],s[i]);
}
Max=best[0];
for (i=1;i<n;i++)
{
if (Max<best[i]) Max=best[i];
}
for (i=0;i<n;i++)
{
if (best[i]==Max)
{
fin=i+1;
k=fin-1;
while(best[k]>0)
{
k--;
}
st=k+2;
goto a;
}
}
a:
f.close();
f.open("ssm.out",ios::out);
f<<Max<<" "<<st<<" "<<fin;
f.close();
return 0;
}