Pagini recente » Borderou de evaluare (job #1577029) | Cod sursa (job #1956638) | Cod sursa (job #2551547) | Cod sursa (job #1349408) | Cod sursa (job #323810)
Cod sursa(job #323810)
#include <stdio.h>
#define Nmax 50100
struct vector{
int s,inc;
};
int a[Nmax],sum,n,k,poz1=1,poz2;
vector b[Nmax];
int main()
{
int i;
freopen("secv2.in","r",stdin);
freopen("secv2.out","w",stdout);
scanf("%d%d",&n,&k);
for(i=1;i<=k;++i)
{
scanf("%d",&a[i]);
a[i]+=a[i-1];
}
sum=a[k];
poz2=k;
for(i=k+1;i<=n;++i)
{
b[i-k]=b[i-k-1];
if(a[i-k]<b[i-k].s)
{
b[i-k].s=a[i-k];
b[i-k].inc=i-k;
}
scanf("%d",&a[i]);
a[i]+=a[i-1];
if(a[i]-b[i-k].s>sum)
{
sum=a[i]-b[i-k].s;
poz1=b[i-k].inc+1;
poz2=i;
}
}
printf("%d %d %d",poz1,poz2,sum);
return 0;
}