Pagini recente » Cod sursa (job #3360568) | Cod sursa (job #3360567) | Cod sursa (job #3360579) | Cod sursa (job #3360564) | Cod sursa (job #3360569)
#include <bits/stdc++.h>
using namespace std;
ifstream in ("ssm.in");
ofstream out ("ssm.out");
#define MAX 6000005
int dp[MAX], dp1[MAX];
int v[MAX];
int n;
int ans = -INT_MAX;
int poz, poz1;
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 = i + 1;
poz1 = i + 1;
dp[i + 1] = v[i + 1];
ans = v[i + 1];
} else
{
dp[i + 1] = dp[i] + v[i + 1];
if (dp[i + 1] >= ans)
{
ans = dp[i + 1];
poz1 = i + 1;
}
}
}
out << ans << " " << poz << " " << poz1;
}