Pagini recente » Rating Raluca Dascalu (raluca1123) | Cod sursa (job #1510620) | Cod sursa (job #2953385) | Cod sursa (job #1814294) | Cod sursa (job #1899588)
#include <iostream>
#include <fstream>
using namespace std;
int n, bestsum, dr;
int v[6000001], i, best[6000001];
int main () {
ifstream fin("ssm.in");
ofstream fout("ssm.out");
fin >> n;
for (i = 1; i <= n; i++) fin >> v[i];
bestsum = v[1];
dr = 1;
for (i = 1; i <= n; i++)
{
best[i] = v[i];
if (best[i] < best[i-1] + v[i])
best[i] = best[i-1] + v[i];
if (best[i] > bestsum)
{
bestsum = best[i];
dr = i;
}
}
i = dr;
n = bestsum;
while (i >= 1 && n != 0)
{
n -= v[i];
i--;
}
fout << bestsum << " " << i+1 << " " << dr << "\n";
}
//5 -6 3 4 -2 3 -3