Pagini recente » Cod sursa (job #1496718) | Cod sursa (job #960713) | Cod sursa (job #637538) | Cod sursa (job #577366) | Cod sursa (job #2699699)
#include <fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int i,n,sumamaxima,st,dr,stanga,dreapta;
int nr[6000005],subsecvente[6000005];
int main()
{
f>>n>>nr[1];
sumamaxima=nr[1];
st=1;
dr=1;
for(i=2;i<=n;i++)
{
f>>nr[i];
subsecvente[i]=nr[i];
if(subsecvente[i]<subsecvente[i-1]+nr[i])
{
subsecvente[i]=subsecvente[i-1]+nr[i];
}
else
{
st=i;
dr=i;
}
if(subsecvente[i]>sumamaxima)
{
sumamaxima=subsecvente[i];
dr=i;
stanga=st;
dreapta=dr;
}
}
st=stanga;
dr=dreapta;
while(nr[st-1]==0 && st>=2)
{
st--;
}
while(nr[dr+1]==0 && dr<n)
{
dr++;
}
g<<sumamaxima<<" "<<st<<" "<<dr;
return 0;
}