Pagini recente » Cod sursa (job #2752824) | Cod sursa (job #3223067) | Cod sursa (job #1781696) | Cod sursa (job #354325) | Cod sursa (job #1584439)
#include <fstream>
using namespace std;
ifstream fin ("ssm.in");
ofstream fout("ssm.out");
#define INFINIT 0x3f3f3f3
int sum[6000000], best[6000000];
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;
}