Pagini recente » Istoria paginii utilizator/verde.cristian2005 | Diferente pentru utilizator/stargold2 intre reviziile 141 si 142 | Cod sursa (job #3139056) | Cod sursa (job #2001164) | Cod sursa (job #2001331)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int n, x[6000005], nr=0, maxi=-(1<<31), poz1, poz2;
int best[6000005];
void ssm()
{
for (int i=1; i<=n; i++)
{
f >> x[i];
best[i]=best[i-1]+x[i];
}
for (int i=1; i<=n; i++)
{
if (best[i]<0)
best[i]=x[i];
else
{
best[i]=max(best[i-1]+x[i],x[i]);
}
if (best[i]==x[i])
poz1=i;
if (best[i]>maxi)
{
maxi=best[i];
poz2=i;
}
}
g << maxi <<' ' <<poz1 <<' ' <<poz2;
}
int main()
{
f >> n;
ssm();
return 0;
}