Pagini recente » Borderou de evaluare (job #2556506) | Monitorul de evaluare | Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #3313800)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int ans=-9999999999,x,n,dp[6000010],pozi[6000010];
int main()
{
fin >>n;
for(int i = 1;i <= n;i++)
{
fin >>x;
if(x > dp[i-1]+x)
{
pozi[i] = i;
dp[i] = x;
}
else
{
pozi[i] = pozi[i-1];
dp[i] = dp[i-1]+x;
}
ans = max(ans,dp[i]);
}
for(int i = 1;i <= n;i++)
{
if(dp[i] == ans)
{
fout <<ans<<" "<<pozi[i]<<" "<<i;
}
}
return 0;
}