Pagini recente » Cod sursa (job #381369) | Cod sursa (job #2877927) | Cod sursa (job #732613) | Cod sursa (job #1740852) | Cod sursa (job #2237896)
#include <fstream>
#define nmax 6000001
using namespace std;
int a[nmax], best[nmax], n, tend, beg, s;
ifstream f("ssm.in");
ofstream g("ssm.out");
int main()
{
int i, bestsum;
f>>n;
for(i = 1; i <= n; i++)
f>>a[i];
bestsum=a[1];
for(i = 1; i <= n; i++)
{
best[i]=max(a[i],best[i-1]+a[i]);
if(bestsum<best[i])
{ bestsum=best[i];
tend=i;}
}
i=tend;
s=a[tend];
while(s!=bestsum){
i--;
s+=a[i];
//g<<s<<' ';
}
beg=i;
if(a[beg-1]==0)
beg=i-1;
//g<<s+a[beg];
g<<bestsum<<' '<<beg<<' '<<tend;
}