Pagini recente » Cod sursa (job #1604425) | Cod sursa (job #2941579) | Cod sursa (job #1581249) | Cod sursa (job #2257580) | Cod sursa (job #1312694)
#include <fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int a[100005];
int s[100005];
int st[100005];
int v[100005];
int main()
{
int n,i,k,maax=-200000000,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;
}