Pagini recente » Cod sursa (job #2954201) | Cod sursa (job #3339237) | Cod sursa (job #3340998) | Cod sursa (job #3339299) | Cod sursa (job #3338993)
#include <fstream>
using namespace std;
ifstream cin ("ssm.in");
ofstream cout ("ssm.out");
int sp[6000005];
int mini[600005];
int n,x;
int main()
{
cin>>n;
for (int i=1; i<=n; i++)
{
cin>>x;
sp[i]=sp[i-1]+x;
}
int minim=1e9;
int iminim=1;
for (int i=1; i<=n; i++)
{
if(sp[i]<minim)
{
mini[i]=i;
iminim=i;
minim=sp[i];
}
else
{
mini[i]=iminim;
}
}
int maxim=-1e9;
int start=0;
int fin=0;
for (int i=n; i>=1; i--)
if (sp[i]-sp[mini[i]]>=maxim)
{
maxim=sp[i]-sp[mini[i]];
start=mini[i];
fin=i;
}
cout<<maxim<<' '<<start+1<<' '<<fin;
return 0;
}