Pagini recente » Cod sursa (job #1731698) | Cod sursa (job #1961768) | Cod sursa (job #562746) | Cod sursa (job #1573944) | Cod sursa (job #2334498)
#include <fstream>
#define nmax 6000004
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int n,v[nmax],s[nmax],minim,p1,p2,smax,lp1,lp2;
int main()
{
f>>n;
for (int i=1;i<=n;i++)
{
f>>v[i];
s[i]=s[i-1]+v[i];
}
minim=smax=s[1];
p1=p2=lp1=lp2=1;
for (int i=2;i<=n;i++)
{
if (minim>s[i-1])
{
minim=s[i-1];
p1=i;
}
if (s[i]-minim>smax)
{
smax=s[i]-minim;
lp1=p1;
lp2=i;
}
else if (s[i]-minim==smax)
{
if (p1<lp1)
{
lp1=p1;
lp2=i;
}
else if (p1==lp1)
{
if (p2-p1<lp2-lp1)
{
lp1=p1;
lp2=i;
}
}
}
}
g<<smax<<' '<<lp1<<' '<<lp2;
f.close();
g.close();
return 0;
}