Pagini recente » Cod sursa (job #1607699) | Cod sursa (job #2234086) | Cod sursa (job #2054822) | Cod sursa (job #221264) | Cod sursa (job #3348150)
#include <fstream>
using namespace std;
ifstream cin("ssm.in");
ofstream cout("ssm.out");
int n, a[6000001];
int main()
{
cin >> n;
for (int i = 1; i <= n; i++)
cin >> a[i];
int sum = a[1], best = a[1];
int start = 1, best_l = 1, best_r = 1;
for (int i = 2; i <= n; i++)
{
if (sum + a[i] < a[i])
{
sum = a[i];
start = i;
}
else
{
sum += a[i];
}
if (sum > best ||
(sum == best && (start < best_l ||
(start == best_l && i - start < best_r - best_l))))
{
best = sum;
best_l = start;
best_r = i;
}
}
cout << best << " " << best_l << " " << best_r;
}