Cod sursa(job #2497259)
Utilizator | Musat Alin Musat_Alin | Data | 22 noiembrie 2019 12:12:11 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 5 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.54 kb |
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int a[1002],n,i,sum[1002],s,smax=-999999,maxx=-999999,poz,poz2;
int main()
{
fin>>n;
for(i=1; i<=n; i++)
fin>>a[i];
sum[1]=a[1];
poz=1;
for(i=2; i<=n; i++)
{
if(sum[i-1]+a[i]>a[i])
{
sum[i]=sum[i-1]+a[i];
if(poz==1) poz=i+1;
}else sum[i]=a[i];
}
for(i=1; i<=n; i++)
if(sum[i]>maxx) maxx=sum[i],poz2=i;
fout<<maxx<<" "<<poz<<" "<<poz2;
}