Cod sursa(job #1849050)
Utilizator | Data | 16 ianuarie 2017 22:50:55 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.51 kb |
#include <iostream>
#include <cstdio>
using namespace std;
int n;
int main()
{
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
int n,s,smax,x,lf,nr=1,nrmax;
scanf("%d",&n);
scanf("%d",&s);
smax=s;
lf=1;
for(int i=2;i<=n;i++)
{
scanf("%d",&x);
if(s<0)
s=x,nr=1;
else
s=s+x,nr++;
if(smax<s)
smax=s,lf=i,nrmax=nr;
}
printf("%d %d %d",smax,lf-nrmax+1,lf);
return 0;
}