Pagini recente » Borderou de evaluare (job #2034654) | Cod sursa (job #2519173) | Cod sursa (job #1832781) | Cod sursa (job #1453901) | Cod sursa (job #3127254)
#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];
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;
for(int i = pozf + 1; i <= n; i ++)
{
maxi += A[i];
if(MaxS < maxi)
{
Pf = i;
MaxS = maxi;
}
}
g << pozi << " " << Pf << " " << MaxS;
return 0;
}