Pagini recente » Cod sursa (job #1193923) | Cod sursa (job #795412) | Cod sursa (job #2924101) | Cod sursa (job #356347) | Cod sursa (job #3004893)
#include <fstream>
using namespace std;
ifstream cin ("ssm.in");
ofstream cout ("ssm.out");
int main()
{
int n, a, st, s, smax, stmax, drmax, lmax;
cin>>n;
s=0;
smax=-1000000000;
st=1;
for (int i=1; i<=n; i++)
{
cin>>a;
s=s+a;
if (s>smax)
{
smax=s;
stmax=st;
drmax=i;
lmax=drmax-stmax+1;
}
else if (s==smax)
{
if (st<stmax)
{
stmax=st;
drmax=i;
lmax=drmax-stmax+1;
}
else if (st==stmax)
{
if ((i-st+1)<lmax)
{
lmax=i-st+1;
drmax=i;
}
}
}
if (s<0)
{
s=0;
st=i+1;
}
}
cout<<smax<<" "<<stmax<<" "<<drmax;
return 0;
}