Pagini recente » Cod sursa (job #2246886) | Cod sursa (job #3229784) | Cod sursa (job #265482) | Cod sursa (job #3250284) | Cod sursa (job #3252630)
#include <fstream>
#define INF (long long)(1e18)
using namespace std;
ifstream cin("secv2.in");
ofstream cout("secv2.out");
int main()
{
cin.tie(nullptr);
cout.tie(nullptr);
ios_base::sync_with_stdio(NULL);
int n, k;
cin >> n >> k;
long long dp[ 50005 ] = { 0 };
int mdp[ 50005 ] = { 0 };
for ( int i = 1; i <= n; ++i )
{
cin >> dp[ i ];
dp[ i ] += dp[ i - 1 ];
if ( dp[ i ] < dp[ mdp[ i - 1 ] ] )
mdp[ i ] = i;
else
mdp[ i ] = mdp[ i - 1 ];
}
int st, dr;
long long m = -INF;
for ( int i = k; i <= n; i++ )
{
if ( dp[ i ] - dp[ mdp[ i - k ] ] > m )
{
m = dp[ i ] - dp[ mdp[ i - k ] ];
st = mdp[ i - k ] + 1;
dr = i;
}
}
cout << st << ' ' << dr << ' ' << m;
return 0;
}