Cod sursa(job #664372)
Utilizator | Buzatu Vlad zeebo | Data | 19 ianuarie 2012 23:57:51 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 90 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
#include <fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int a[6000001],b[6000001],i,max1,poz,n;
int main ()
{
f>>n;
for (i=1;i<=n;i++) f>>a[i];
b[1]=a[1];
for (i=2;i<=n;i++)
if (b[i-1]+a[i]>a[i]) b[i]=b[i-1]+a[i];
else b[i]=a[i];
max1=0;poz=0;
for (i=1;i<=n;i++)
if (max1<b[i])
{
max1=b[i];
poz=i;
}
g<<max1<<' ';
for (i=poz;i>=1;i--)
if (b[i]<=0)
{
g<<i+1<<' ';
break;
}
g<<poz<<'\n';
return 0;
}