Pagini recente » Cod sursa (job #398441) | Cod sursa (job #2733573) | Cod sursa (job #945185) | Cod sursa (job #1624651) | Cod sursa (job #1534212)
#include <fstream>
#include <climits>
#define NM 50001
using namespace std;
ifstream InF ("secv2.in");
ofstream OutF ("secv2.out");
int a[NM];
unsigned n, k;
int sum[NM], aux[NM];
int maxim = INT_MIN;
int L_Lim, R_Lim;
unsigned i;
void scan ();
void solve ();
void print ();
int main()
{
scan ();
solve ();
print ();
return 0;
}
void scan ()
{
InF >> n >> k;
for (i=1; i<=n; i++)
InF >> a[i];
}
void solve ()
{
for (i=1; i<=n; i++)
sum[i] = sum[i-1] + a[i];
for (i=1; i<=n; i++)
if (sum[i] < sum[aux[i-1]])
aux[i] = i;
else
aux[i] = aux[i-1];
for (i=k; i<=n; i++)
if (sum[i]-sum[aux[i-k]] > maxim)
{
maxim = sum[i] - sum[aux[i-k]];
R_Lim = i;
L_Lim = aux[i-k] + 1;
}
}
void print ()
{
OutF << L_Lim << " " << R_Lim << " " << maxim;
}