Pagini recente » Cod sursa (job #2965753) | Cod sursa (job #1916911) | Cod sursa (job #1117387) | Cod sursa (job #1880701) | Cod sursa (job #2909470)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int N, v[6000000];
int DP[6000000], best[6000000];
void solutie() {
int i, minim, bestSum, left, right = 0;
DP[0] = 0;
for (i = 1; i <= N; i++) {
DP[i] = v[i] + DP[i-1];
}
minim = DP[0];
left = 0;
bestSum = INT_MIN;
for (i = 1; i <= N; i++) {
best[i] = DP[i] - minim;
if (minim > DP[i]) {
minim = DP[i];
left = i + 1;
}
if (bestSum < best[i]) {
bestSum = best[i];
right = i;
}
}
fout << bestSum << " " << left << " " << right;
}
int main()
{
int i;
fin >> N;
for (i = 1; i <= N; i++) {
fin >> v[i];
}
solutie();
return 0;
}