Pagini recente » Cod sursa (job #2737207) | Cod sursa (job #3274586) | Cod sursa (job #576102) | Cod sursa (job #1955707) | Cod sursa (job #648598)
Cod sursa(job #648598)
#include <cstdio>
#include <iostream>
using namespace std;
int best,v[300];
int main()
{
int n,maxim=-1<<30,ii=0,jj=0,lstanga;
freopen("ssm.in","r", stdin);
freopen("ssm.out","w",stdout);
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
int nr;
scanf("%d",&nr);
v[i]=nr;
//s[i]=nr+s[i-1];
if(v[i]>=0 && best<0 )
{
best=v[i];
ii=i;
jj=i;
if(best>maxim){ maxim=best; lstanga=jj; }
}
else
if(best+v[i]>v[i])
{
jj++;
best=best+v[i];
if(maxim<best)
{
maxim=best;
lstanga=jj;
}
/* else
{
ii=i;
jj=i;
}*/
}
else
{
best=v[i];
if(maxim<best){ maxim=best; lstanga=jj; }
ii=i;
jj=i;
}
// best[i]=max(best[i-1]+v[i],v[i]);
}
//for(int i=1;i<=n;i++) cout<<" best : "<<best[i]<<endl;
cout<<maxim<<" "<<ii<<" "<<lstanga;
return 0;
}