Pagini recente » Cod sursa (job #579938) | Cod sursa (job #261090) | Cod sursa (job #1529864) | Cod sursa (job #659095) | Cod sursa (job #2785262)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int nn,a,i=1,j=1, m=1, n=1, w=1, y=1, x,ok=0,nega=0;
long long sum=0, maxsum=0,maxi,sumi=0;
int main()
{
fin>>nn;
for(a=1;a<=nn;a++)
{
fin>>x;
sum=sum+x;
if(ok==0 or sumi>sum)
{
sumi=sum;
ok=1;
j=a;
}
if(sum-sumi>maxsum)
{
maxsum=sum-sumi;
m=j+1;
n=a;
}
}
if(sum-sumi>maxsum)
{
maxsum=sum-sumi;
m=j+1;
n=a;
}
fout<<maxsum<<" "<<m<<" "<<n;
/*for(a=1;a<=nn;a++)
{
fin>>x;
if(a==1 or x>maxi)
{
maxi=x;
w=a;
y=a;
}
if(x>0 and nega==0)
{
if(ok==0)
{
ok=1;
m=a;
n=m;
}
else
{
n++;
}
sum=sum+x;
}
else if(x>0 and nega==1)
{
if(abs(sumi)<x)
{
sum+=sumi;
sum+=x;
n=a;
}
else
{
if(sum>maxsum)
{
maxsum=sum;
i=n;
j=m;
}
sum=x;
sumi=0;
m=a;
n=a;
}
nega=0;
}
else if(x<=0)
{
nega=1;
sumi+=x;
}
}
if(sum>maxsum)
{
maxsum=sum;
i=n;
j=m;
}
if(sum==0 and maxsum==0)
{
fout<<maxi<<" "<<w<<" "<<x;
}
else
{
fout<<maxsum<<" "<<j<<" "<<i;
}*/
return 0;
}