Pagini recente » Cod sursa (job #434171) | Cod sursa (job #1833379) | Cod sursa (job #58954) | Cod sursa (job #1370623) | Cod sursa (job #2102180)
#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,q;
int best[6000005];
void ssm()
{
for (int i=1; i<=n; i++)
{
f >> x[i];
best[i]=max(best[i-1]+x[i],x[i]);
if (best[i]==x[i] && best[i]>maxi)
{
maxi=best[i];
poz1=i,poz2=i;
}
else if (best[i]>maxi)
{
poz2++;
}
}
while (x[poz1]==0)
{
poz1++;
}
while (x[poz2]==0)
poz2--;
g << maxi <<' ' <<poz1 <<' ' <<poz2;
}
int main()
{
f >> n;
ssm();
return 0;
}