Cod sursa(job #1256676)
| Utilizator | Data | 6 noiembrie 2014 19:08:04 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.56 kb |
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int sol,st,dr,sc,n,i,j,x,k;
int main()
{
fin>>n;
i=j=1;
st=dr=1;
fin>>sol;
sc=sol;
for(k=2;k<=n;k++)
{
fin>>x;
if(sc<0)
{
sc=x;
st=dr=k;
}
else
{
sc+=x;
dr++;
}
if(sc>sol)
{
sol=sc;
i=st;j=dr;
}
}
fout<<sol<<' '<<i<<' '<<j;
return 0;
}
