Pagini recente » Cod sursa (job #3360575) | Cod sursa (job #3360570)
#include <bits/stdc++.h>
using namespace std;
ifstream in ("ssm.in");
ofstream out ("ssm.out");
#define MAX 6000005
int dp[MAX];
int v[MAX];
int n;
int ans = -INT_MAX;
int poz, poz1;
int temp = 0;
int main()
{
ios_base::sync_with_stdio(false);
in.tie(NULL);
in >> n;
for (int i = 1; i <= n; i++)
{
in >> v[i];
}
poz1 = poz = 1;
for (int i = 0; i < n; i++)
{
if (v[i + 1] > dp[i] + v[i + 1])
{
poz = poz1 = i + 1;
dp[i + 1] = v[i + 1];
temp = i + 1;
} else
{
dp[i + 1] = dp[i] + v[i + 1];
}
if (dp[i + 1] > ans)
{
ans = dp[i + 1];
poz = temp;
poz1 = i + 1;
}
}
out << ans << " " << poz << " " << poz1;
}