Cod sursa(job #2163761)
Utilizator | Radoi Iulian aeromaniaX | Data | 12 martie 2018 19:54:38 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.58 kb |
#include <bits/stdc++.h>
using namespace std;
int a[999999];
int n,pf1,pf2,p1,p2,x,Max,s;
void date()
{
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
}
int main()
{
date();
scanf("%d",&n);
p1=p2=1;
Max=-9999999;
for(int i=1;i<=n;i++)
{
scanf("%d",&x);
if(s+x >= x)
p2=i,s+=x;
else
s=x,p1=i,p2=i;
if(s>Max)
{
Max=s;
pf1=p1;
pf2=p2;
}
}
printf("%d %d %d\n",Max,pf1,pf2);
return 0;
}