Mai intai trebuie sa te autentifici.
Cod sursa(job #2158167)
| Utilizator | Data | 10 martie 2018 11:05:19 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 90 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.61 kb |
#include <iostream>
#include <stdio.h>
using namespace std;
int const nm=6000007;
int v[nm];
int main()
{
int i,j,bestmin,bestmax,poz,poz1,poz2,n;
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;++i)
{
scanf("%d",&v[i]);
v[i]+=v[i-1];
}
bestmin=v[0];
bestmax=0;
for(i=1;i<=n;++i)
{
if(bestmin>=v[i])
bestmin=v[i],poz=i+1;
if(bestmax<v[i]-bestmin)
bestmax=v[i]-bestmin,poz1=poz,poz2=i;
}
printf("%d %d %d\n",bestmax,poz1,poz2);
return 0;
}
