Cod sursa(job #1952712)
Utilizator | Chirita Matei Chirita_Matei | Data | 4 aprilie 2017 12:27:06 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 90 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.61 kb |
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int dp[6000010],n,a,maxi,st,f,stM,fM;
int main()
{
fin >> n;
for(int i = 1; i <= n; i++)
{
fin >> a;
if(dp[i-1] + a > a)
{
dp[i] = dp[i-1] + a;
f++;
}
else{
dp[i] = a;
st = i;
f = st;
}
if(dp[i] > maxi)
{
maxi = dp[i];
stM = st;
fM = f;
}
}
fout << maxi << ' ' <<stM << ' '<<fM;
return 0;
}