Pagini recente » Cod sursa (job #1904588) | Cod sursa (job #2482459) | Cod sursa (job #847789) | Cod sursa (job #1601272) | Cod sursa (job #1233280)
#include <cstdio>
using namespace std;
const char InFile[]="ssm.in";
const char OutFile[]="ssm.out";
const int DIMN=6000050;
const int INF=-2000000000;
inline int MAX(int a,int b)
{
return((a>b)?a:b);
}
int n,v[DIMN];
int main()
{
freopen(InFile,"r",stdin);
freopen(OutFile,"w",stdout);
scanf("%d",&n);
int sum=INF;
int sumMax=INF;
int head=0;
int tail=0;
for(int i=0;i<n;i++)
scanf("%d",&v[i]);
for(int i=0;i<n;i++)
{
if(MAX(sum+v[i],v[i])==v[i])
{
sum=v[i];
head=i;
}
else sum+=v[i];
if(sum>sumMax)
{
sumMax=sum;
tail=i;
}
}
printf("%d %d %d\n",sumMax,head+1,tail+1);
return 0;
}