Pagini recente » Cod sursa (job #2012917) | Cod sursa (job #1823743) | Cod sursa (job #1544348) | Cod sursa (job #246948) | Cod sursa (job #1584441)
#include <fstream>
using namespace std;
ifstream fin ("ssm.in");
ofstream fout("ssm.out");
#define INFINIT 0x3f3f3f3
int sum[6000001], best[6000001];
int main()
{
int n, x, Min, bestSum, pozMin, pozMax;
fin >> n;
for(int i = 1; i <= n; i++)
{
fin >> x;
sum[i] = x + sum[i-1];
}
Min = sum[0];
pozMin = pozMax = 1;
bestSum = -INFINIT;
for(int i = 1; i <= n; i++)
{
best[i] = sum[i] - Min;
if(Min > sum[i])
{
Min = sum[i];
pozMin = i + 1;
}
if(bestSum < best[i])
{
bestSum = best[i];
pozMax = i;
}
}
fout << bestSum << " " << pozMin << " " << pozMax;
return 0;
}