Pagini recente » Cod sursa (job #2668315) | Cod sursa (job #2356047) | Cod sursa (job #3243761) | Borderou de evaluare (job #2006031) | Cod sursa (job #635143)
Cod sursa(job #635143)
#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,temp;
int max,max_start,max_end;
int start;
scanf("%d %d",&n,&k);
for (i=0;i<n;i++)
{
scanf("%d",&v[i]);
if (i==k-1)//process firs seq
{
v[i+1-k]=calc_sec(i);
start = 0;
max = v[i+1-k];
max_start = start;
max_end = i;
}
if (i>=k)
{
temp = calc_sec(i);
if (v[i-k]+v[i]>=temp)
{
v[i+1-k]=v[i-k]+v[i];
}
else
{
v[i+1-k]=temp;
start = i-k+1;
}
if (v[i+1-k] > max)
{
max = v[i+1-k];
max_start = start;
max_end = i;
}
}
}
printf("%d %d %d\n",max_start+1,max_end+1,max);
return 0;
}