Pagini recente » Cod sursa (job #405664) | Cod sursa (job #1189403) | Cod sursa (job #3134794) | Arhiva de probleme | Cod sursa (job #3287951)
#include <fstream>
using namespace std;
ifstream cin ( "ssm.in" );
ofstream cout ( "ssm.out" );
const int Nmax = 6e6 + 5;
int dp[Nmax], len[Nmax];
int main()
{
int n, val, poz_max;
cin >> n;
cin >> dp[1];
len[1] = 1;
for( int i = 2; i <= n ; i ++ ) {
cin >> val;
if( dp[i-1] > 0 ) {
len[i] = len[i - 1] + 1;
dp[i] = dp[i-1] + val;
} else{
dp[i] = val;
len[i] = 1;
}
}
poz_max = 1;
for( int i = 2; i <= n; i ++ )
if( dp[i] > dp[poz_max] )
poz_max = i;
cout << dp[poz_max] << " " << poz_max - len[poz_max] + 1 << " " << poz_max << '\n';
return 0;
}