Pagini recente » Cod sursa (job #2473496) | Cod sursa (job #3288169) | Cod sursa (job #2210721) | Cod sursa (job #906251) | Cod sursa (job #1312700)
#include <fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int a[6000005];
int s[6000005];
int st[6000005];
int v[6000005];
int main()
{
int n,i,k,maax=-2000000000,stanga=0,dreapta,sumf=0,sum=0,miin=0;
f>>n;
for(i=1;i<=n;i++)
{
f>>a[i];
s[i]=s[i-1]+a[i];
}
for(i=1;i<=n;i++)
{
v[i]=s[i]-s[stanga];
st[i]=stanga+1;
if(miin>s[i])
{
miin=s[i];
stanga=i;
}
}
for(i=1;i<=n;i++)
{
if(v[i]>maax)
{
maax=v[i];
stanga=st[i];
dreapta=i;
}
else
if(v[i]==maax)
{
int drp=i,stp=st[i];
if(stp<stanga)
{
stanga=stp;
dreapta=i;
}
else
if(stp==stanga && drp<dreapta)
dreapta=i;
}
}
/*for(i=stanga;i<=dreapta;i++)
{
a[i]=a[i]*(-1);
sum+=a[i];
}
for(i=dreapta+1;i<=n;i++)
sumf+=a[i];
for(i=1;i<=stanga-1;i++)
sumf+=a[i];
g<<stanga<<" "<<dreapta<<"\n"<<sumf+sum;*/
g<<maax<<" "<<stanga<<" "<<dreapta;
return 0;
}