Pagini recente » Cod sursa (job #641824) | Cod sursa (job #872614) | Cod sursa (job #1531262) | Cod sursa (job #2986867) | Cod sursa (job #3142291)
#include <bits/stdc++.h>
#pragma GCC optimize("O3")
using namespace std;
const int INF = 1e9;
const int NMAX = 6'000'001;
int dp [ NMAX ];
int start [ NMAX ];
int main()
{
(void)! freopen ( "ssm.in" , "r" , stdin );
(void)! freopen ( "ssm.out" , "w" , stdout );
int n, a, ans = -INF, startAns, endAns; cin >> n;
for ( int i = 1 ; i <= n ; ++ i )
{
cin >> a;
if ( dp [ i - 1 ] >= 0 )
{
start [ i ] = start [ i - 1 ];
dp [ i ] = dp [ i - 1 ] + a;
}
else
{
start [ i ] = i;
dp [ i ] = a;
}
if ( ans < dp [ i ] )
{
ans = dp [ i ];
startAns = start [ i ];
endAns = i;
}
//cout << start [ i ] << ' ' << dp [ i ] << ' ' << dp [ i - 1 ] << ' ' << start [ i - 1 ] << '\n';
}
cout << ans << ' ' << startAns << ' ' << endAns << '\n';
return 0;
}