Pagini recente » Cod sursa (job #2069427) | Cod sursa (job #1744621) | Cod sursa (job #1332306) | Cod sursa (job #2267351) | Cod sursa (job #668083)
Cod sursa(job #668083)
#include <cstdio>
#define min -1250000000
#define max 1250000000
int n,k;
int intst,intend,intsum=min,partsum;
int intarr[50005];
int sum[50005];
int h;
void read()
{
FILE *in;
in = freopen("secv2.in","r",stdin);
scanf("%d %d\n",&n,&k);
for (int i=1; i<=n; scanf("%d",&intarr[i++]))
{
sum[i] = sum[i-1] + intarr[i];
}
}
void write()
{
FILE *out;
out = freopen("secv2.out","w+",stdout);
setvbuf ( out, NULL, _IOFBF, 1024 );
if (intsum>0)
printf("%d %d %d",intst,intend,intsum);
else
printf("%d %d %d",intst,intend,intsum);
}
void solve()
{
int i,j;
for(i=1;i<=n;i++)
{
if (i>k && h + intarr[i] < sum[i] - sum[i-k])
{
h=sum[i] - sum[i-k];
h = i-k+1;
}
else h+=intarr [i];
if(partsum>intsum && i>=k)
{
intsum=h;
intend=i;
intst=h;
}
}
}
int main()
{
read();
solve();
write();
}