Pagini recente » Cod sursa (job #1775506) | Cod sursa (job #2562805) | Cod sursa (job #2109451) | Cod sursa (job #2865867) | Cod sursa (job #861870)
Cod sursa(job #861870)
#include<fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
long n,s[6000005],smax;
int main()
{
int i,j;
f>>n;
int c;
for(i=1;i<=n;i++)
{
f>>c;
s[i]=s[i-1]+c;
}
int start,finish;
int min=200000;
int max=0,val=0;
int pf,pg,smax=-1000000000;
for(i=1;i<=n;i++)
{
if(s[i]<min)
{
min=s[i];
max=0;
start=i;
val=0;
}
if(s[i]>max)
{
max=s[i];
finish=i;
}
if(finish>start)
{
val=s[finish]-s[start];
if(val>smax)
{
smax=val;
pf=start;
pg=finish;
}
else
if(val==smax)
if(pf<start)
{
start=pf;
finish=pg;
}
}
}
g<<val<<" ";
g<<start+1<<" "<<finish;
f.close();
g.close();
return 0;
}