Pagini recente » Cod sursa (job #2984930) | Cod sursa (job #441321) | Cod sursa (job #2215493) | Cod sursa (job #1332203) | Cod sursa (job #2719720)
#include<iostream>
#include<fstream>
#include<climits>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
#define nrm 6000005
int n;
int sume[nrm];
int smin[nrm];
void citire()
{
fin>>n;
for(int i=1;i<=n;i++)
{
int x;
fin>>x;
sume[i]=sume[i-1]+x;
}
}
int main ()
{
citire();
int start,minim=0,maxim=INT_MIN,stop,pos;
for(int i=1;i<=n;i++)
{
if(sume[i]<minim)
{
minim=sume[i];
smin[i]=sume[i];
pos=i;
}
else
{
smin[i]=minim;
}
if(maxim<sume[i]-smin[i])
{
maxim=sume[i]-smin[i];
start=pos;
stop=i;
}
}
fout<<maxim<<" "<<start+1<<" "<<stop;
fin.close();
fout.close();
return 0;
}