Cod sursa(job #1795583)
Utilizator | Data | 2 noiembrie 2016 17:54:38 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 5 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.61 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int main()
{
int n, x, s=0, i, m=0, in1=1, in2, a=0, c;
fin>>n;
fin>>x;
s=x;
for (i=2; i<=n; i++)
{ if (i>=in1)
c+=x;
m=m+x;
if (s>m)
{
in1=i;
in2=i;
s=m;
m=0;
}
else
in2=i;
fin>>x;
if (s>m && x>0)
a=x;
if ((s<m && a!=0) || (s<m && x>0) )
a+=x;
}
fout<<a<<" "<<in1<<" "<<in2;
}