Mai intai trebuie sa te autentifici.
Cod sursa(job #797165)
Utilizator | Data | 13 octombrie 2012 15:48:49 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 95 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.47 kb |
#include<fstream>
using namespace std;
int pimax,pfmax,pi,v[6000005],D[6000005],n,maxim,i;
int main()
{
ifstream f("ssm.in");
ofstream g("ssm.out");
f>>n;
for(i=1;i<=n;i++)
f>>v[i];
D[1]=v[1];
pi=1;
pimax = 1;
pfmax = 1;
for(i=2;i<=n;i++)
{
if(D[i-1]+v[i]>=v[i])
D[i]=D[i-1]+v[i];
else
{
D[i]=v[i];
pi=i;
}
if(D[i]>maxim)
{
maxim=D[i];
pimax=pi;
pfmax=i;
}
}
g<<maxim<<" "<<pimax<<" "<<pfmax;
return 0;
}