Pagini recente » Cod sursa (job #320466) | Arhiva de probleme | Cod sursa (job #432746) | Cod sursa (job #202671) | Cod sursa (job #995871)
Cod sursa(job #995871)
#include <iostream>
#include <fstream>
#define nmax 6000001
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
int n,i,v[nmax],dp[nmax],pozi,maxim;
int main(){
in >> n;
for (i=1; i<=n; i++)
in >> v[i];
dp[n]=v[n];
for (i=n-1; i>=1; i--){
dp[i]=max(dp[i+1]+v[i], v[i]);
if (dp[i]>=maxim) pozi=i, maxim=dp[i];
}
i=pozi;
while (maxim>0)
maxim-=v[i], i++;
out << dp[pozi] << " " << pozi << " " << i-1;
return 0;
}