Pagini recente » Cod sursa (job #1363920) | Cod sursa (job #2737866) | Cod sursa (job #287852) | Cod sursa (job #1777419) | Cod sursa (job #1231671)
#include <fstream>
#define SIZE 6000000
using namespace std;
int V[SIZE];
int main()
{
ifstream ifs("ssm.in");
ofstream ofs("ssm.out");
int n; ifs >> n;
for (int i = 0; i < n; ++i)
ifs >> V[i];
int best_sum = V[0], best_left = 0, best_right = 0;
int sum = V[0], left = 0;
for (int i = 1; i < n; ++i)
{
if (sum + V[i] > 0)
{
if (sum + V[i] > V[i])
{
sum += V[i];
}
else
{
sum = V[i];
left = i;
}
}
else
{
sum = V[i];
left = i;
}
if (sum > best_sum)
{
best_sum = sum;
best_left = left;
best_right = i;
}
}
ofs << best_sum << " " << best_left + 1 << " " << best_right + 1 << "\n";
return 0;
}