Pagini recente » Borderou de evaluare (job #2549129) | Borderou de evaluare (job #1524477) | Borderou de evaluare (job #2045681) | Borderou de evaluare (job #372263) | Cod sursa (job #3142702)
#include <bits/stdc++.h>
using namespace std;
ifstream f("secv2.in");
ofstream g("secv2.out");
const int nmax = 50005;
int n,k,maxi,mini[nmax],V[nmax],S[nmax],ind[nmax],pozi,pozf;
int main()
{
f >>n >>k;
for(int i=1; i<=n;i++)
{
f >> V[i];
S[i]=S[i - 1]+V[i];
}
for(int i = 1; i <= n; i ++)
{
mini[i]=min(mini[i-1],S[i]);
if(mini[i]==mini[i-1])ind[i]=ind[i - 1];
else ind[i]=i;
}
maxi=INT_MIN;
for(int i=k; i<=n;i++)
if(maxi<S[i] - mini[i - k])
{
maxi=S[i]-mini[i-k];
pozi=ind[i-k]+1;pozf=i;
}
g <<pozi<<" "<< pozf<<" "<<maxi;
return 0;
}