Cod sursa(job #2284552)
Utilizator | Data | 17 noiembrie 2018 11:31:08 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.48 kb |
#include <iostream>
using namespace std;
int main(){
int n,i,dp[6000005],start[6000005],maxi,x;
cin>>n;
cin>>x;
dp[1]=x;
maxi=1;
start[1]=1;
for (i=2; i<=n; ++i){
cin>>x;
if(dp[i-1]>=0){
dp[i]=x+dp[i-1];
start[i]=start[i-1];
} else {dp[i]=x;
start[i]=i;
}
if (dp[i]>dp[maxi])
maxi=i;
}
cout<< dp[maxi] << start[maxi] << maxi;
return 0;
}