Pagini recente » Cod sursa (job #433371) | Cod sursa (job #1810578) | Cod sursa (job #1100773) | Cod sursa (job #1095603) | Cod sursa (job #1851939)
#include <bits/stdc++.h>
#define nmax 6000005
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int a[nmax],smax,n;
void Citire()
{
int i;
fin>>n;
for(i=1;i<=n;i++)
fin>>a[i];
fin.close();
}
void Ssm()
{
int s,smax,incep,sfarsit,poz,i;
s=smax=a[1];
incep=sfarsit=poz=1;
if(s<0)
{
s=0;
poz=2;
}
for(i=2;i<=n;i++)
{
s+=a[i];
if(smax<s)
{
smax=s;
incep=poz;
sfarsit=i;
}
///gasesc alta subsecventa
if(s<0)
{
s=0;
poz=i+1;
}
}
fout<<smax<<" "<<incep<<" "<<sfarsit<<"\n";
}
int main()
{
Citire();
Ssm();
fin.close();
fout.close();
return 0;
}