Cod sursa(job #1723413)
Utilizator | Moldovan Armina ArminaMoldovan | Data | 30 iunie 2016 16:27:35 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 50 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.69 kb |
#include<fstream>
#include<iostream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int a[600000];
int main()
{
int n, i, ii, is, pc, maxx, sc, s=0;
fin>>n;
for(i=1; i<=n; i++)
{
fin>>a[i];
}
ii=1;
is=1;
pc=1;
maxx=a[1];
sc=a[1];
for(i=2; i<=n; i++)
{
if(sc>0)
{
sc+=a[i];
}
else
{
sc=a[i];
pc=i;
}
if(sc>maxx)
{
ii=pc;
is=i;
maxx=sc;
}
}
for(i=ii; i<=is; i++)
{
s+=a[i];
}
fout<<s<<" "<<ii<<" "<<is;
}