Pagini recente » Cod sursa (job #2972492) | Cod sursa (job #3164208) | Cod sursa (job #612787) | Cod sursa (job #2263021) | Cod sursa (job #1727650)
# include <bits/stdc++.h>
using namespace std;
const int Nmax = 6000000 + 5;
int n, a[Nmax], D[Nmax], i;
int main ()
{
freopen("ssm.in", "r", stdin);
freopen("ssm.out", "w", stdout);
scanf("%d\n", &n);
for (i = 1; i <= n; ++i)
scanf("%d ", &a[i]);
D[0] = 0;
int ans = 0, beginn, endd, start;
// dinamica : D[i] = max ( D[i - 1] + a[i], a[i] ) ;
for (i = 1; i <= n; ++i)
{
if (a[i] > D[i - 1] + a[i]) D[i] = a[i], start = i;
else D[i] = D[i - 1] + a[i];
if (D[i] > ans) ans = D[i], beginn = start, endd = i;
}
printf("%d %d %d\n", ans, beginn, endd);
return 0;
}