Pagini recente » Cod sursa (job #766932) | Cod sursa (job #405057) | Cod sursa (job #2430083) | Cod sursa (job #1301499) | Cod sursa (job #1416627)
#include <iostream>
#include <cstdio>
#define dmax 6000010
using namespace std;
int N; int a[dmax],best[dmax]; int bestSum;
int main()
{
freopen("ssm.in", "r", stdin);
freopen("ssm.out", "w", stdout);
int i,p_i,p_f,idx;
scanf("%d",&N);
for(i=1; i<=N; i++) scanf("%d",&a[i]);
bestSum=a[1];
for(i=1; i<=N; i++)
{
best[i]=a[i];
if(best[i] < best[i-1]+a[i]) best[i]=best[i-1]+a[i];
if(bestSum<best[i]) {bestSum=best[i]; p_f=i;}
}
int s=0;
for(i=p_f; i>=1; i--)
{
s+=a[i];
if(s==bestSum) {p_i=i; break;}
}
printf("%d %d %d",bestSum,p_i,p_f);
//for(i=1; i<=N; i++) printf("%d ",best[i]);
return 0;
}