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