Cod sursa(job #1091629)
| Utilizator | Data | 25 ianuarie 2014 21:09:59 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.72 kb |
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream f("ssm.in");
ofstream g("ssm.out");
long long n, a[6000000],b[6000000],maxt,pm,s,i,j;
f>>n;maxt=0;
for (i=1;i<=n;i++)
f>>a[i];
b[n]=a[n];
for (i=n-1;i>=1;i--)
{
if (a[i]+b[i+1]>a[i])
b[i]=a[i]+b[i+1];
else
{
b[i]=a[i];
pm=i;
}
}
for (i=1;i<=n;i++)
if (b[i]>maxt)
{
maxt=b[i];
s=i;
}
g<<b[s]<<" "<<s<<" "<<pm;
return 0;
}
