Pagini recente » Cod sursa (job #2372267) | Cod sursa (job #2455886) | Cod sursa (job #1161107) | Cod sursa (job #2771312) | Cod sursa (job #3127263)
#include <bits/stdc++.h>
using namespace std;
ifstream f("secv2.in");
ofstream g("secv2.out");
const int nmax = 50005;
int n, k, maxi, pozi, pozf, Pf, A[nmax], sumi[nmax], Pi;
int main()
{
f >> n >> k;
for(int i = 1; i <= n; i ++)
{
f >> A[i];
sumi[i] = sumi[i - 1] + A[i];
}
for(int i = 1; i <= n - k + 1; i ++)
if(sumi[i + k - 1] - sumi[i - 1] > maxi)
{
maxi = sumi[i + k - 1] - sumi[i - 1];
pozi = i; pozf = i + k - 1;
}
int MaxS = maxi; Pf = pozf;
for(int i = pozf + 1; i <= n; i ++)
{
maxi += A[i];
if(MaxS <= maxi)
{
Pf = i;
MaxS = maxi;
}
}
maxi = MaxS; Pi = pozi;
for(int i = pozi - 1; i >= 1; i --)
{
maxi += A[i];
if(MaxS <= maxi)
{
Pf = i;
MaxS = maxi;
}
}
g << Pi << " " << Pf << " " << MaxS;
return 0;
}