Pagini recente » Cod sursa (job #2515226) | Cod sursa (job #3145219) | Cod sursa (job #2409551) | Cod sursa (job #1432896) | Cod sursa (job #635268)
Cod sursa(job #635268)
#include <stdio.h>
#define dim 50001
int v[dim];
int n,k;
inline int calc_sec(int i)
{
int j,s=0;
for (j=i;j>i-k;j--)
s+=v[j];
return s;
}
int main()
{
freopen("secv2.in","r",stdin);
freopen("secv2.out","w",stdout);
int i;
int max,max_start,max_end;
int actual,last,start;
scanf("%d %d",&n,&k);
for (i=0;i<n;i++)
{
scanf("%d",&v[i]);
if (i==k-1)//process firs seq
{
actual=calc_sec(i);
start = 0;
last = actual; //last sequence of k numbers
max = actual;
max_start = start;
max_end = i;
}
if (i>=k)
{
last = last + v[i]- v[i-k];
if (actual+v[i]>=last)
{
actual=actual+v[i];
}
else
{
actual=last;
start = i-k+1;
}
if (actual > max)
{
max = actual;
max_start = start;
max_end = i;
}
}
}
printf("%d %d %d\n",max_start+1,max_end+1,max);
return 0;
}