Pagini recente » Cod sursa (job #3243871) | Cod sursa (job #956975) | Cod sursa (job #658157) | Cod sursa (job #1722795) | Cod sursa (job #995873)
Cod sursa(job #995873)
#include <iostream>
#include <fstream>
#define nmax 6000001
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
long long 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;
}