Pagini recente » Cod sursa (job #1992335) | Cod sursa (job #1314677) | Cod sursa (job #2437153) | Cod sursa (job #3241551) | Cod sursa (job #2458971)
/** Determinarea subescventei de suma maxima
**/
#include <bits/stdc++.h>
#define NMax 6000005
using namespace std;
//FILE*fin=fopen("ssm.in","r");
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n,v[NMax],maxi=INT_MIN,pozi,sts,drs;
int main()
{
int i,s=INT_MIN,smax=INT_MIN,st;
fin>>n;
for(i=1;i<=n;++i)
{
fin>>v[i];
if(v[i]>maxi) maxi=v[i], pozi=i;
}
for(i=1;i<=n;++i)
{
if(s<0)
{
s=v[i];
st=i;
}
else
s+=v[i];
if(s>smax)
{
smax=s;
sts=st;
drs=i;
}
}
if(smax>maxi)
fout<<smax<<" "<<sts<<" "<<drs<<'\n';
else fout<<maxi<<" "<<pozi<<" "<<pozi<<'\n';
return 0;
}