Pagini recente » Borderou de evaluare (job #1737963) | Cod sursa (job #395017) | Cod sursa (job #3230124) | Cod sursa (job #2501787) | Cod sursa (job #2288078)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
const int NLIM = 6000001;
int n, a[NLIM];
int best[NLIM];
int suma[NLIM];
int main()
{
fin >> n;
suma[0] = 0;
for (int i=1;i<=n;i++)
{
fin >> a[i];
suma[i] = a[i] + suma[i-1];
}
int BestSuma = -NLIM;
int minim = 0;
int pozj,pozi;
for (int i=1;i<=n;i++)
{
best[i] = suma[i] - minim;
if (best[i] > BestSuma)
{
BestSuma = best[i];
pozj = i;
}
if (best[i] < minim)
{
minim = best[i];
pozi = i + 1;
}
}
fout << BestSuma << " " << pozi << " " << pozj;
return 0;
}