Pagini recente » Cod sursa (job #3338497) | Cod sursa (job #3337925) | Cod sursa (job #3338990) | Cod sursa (job #1739491) | Cod sursa (job #3338986)
#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=sp[1];
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;
}