Cod sursa(job #2321152)
Utilizator | Florin Gheorghe cyg_SerbanB | Data | 15 ianuarie 2019 19:01:53 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.41 kb |
#include <bits/stdc++.h>
using namespace std;
int s[6000005];
int main() {
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout)
int n,i,j,sum,last,front,x,m;
scanf("%d",&n);
sum=INT_MIN;
m=0;
for(i=1;i<=n;i++)
{
scanf("%d",&x);
s[i]=s[i-1]+x;
if(sum<s[i]-m)
sum=s[i]-m,front=j+1,last=i;
if(m>s[i])
m=s[i],j=i;
}
printf("%d %d %d",sum,front,last);
return 0;
}