Pagini recente » Cod sursa (job #2966546) | Cod sursa (job #756068) | Cod sursa (job #1970748) | Cod sursa (job #2980180) | Cod sursa (job #1584435)
#include <fstream>
using namespace std;
ifstream fin ("ssm.in");
ofstream fout("ssm.out");
#define INFINIT 0x3f3f3f3
int a[6000000], sum[6000000], best[6000000];
int main()
{
int n, Min, bestSum, pozMin, pozMax;
fin >> n;
for(int i = 1; i <= n; i++)
{
fin >> a[i];
sum[i] = a[i] + 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;
}