Pagini recente » Cod sursa (job #810498) | Cod sursa (job #1280592) | Cod sursa (job #1850448) | Cod sursa (job #1934604) | Cod sursa (job #9193)
Cod sursa(job #9193)
#include <stdio.h>
#define infile "secv2.in"
#define outfile "secv2.out"
#define NMAX 50005
#define INF 1250000005
FILE *fin,*fout;
int n,k;
short int x[NMAX];
int sumamax=-INF,pozstart,pozend;
int suma[NMAX];
void citire()
{
fin=fopen(infile,"r");
fscanf(fin,"%d %d",&n,&k);
for(int i=0;i<n;i++)
fscanf(fin,"%d",&x[i]);
fclose(fin);
}
void solve()
{
int i;
int min=0,min_pozstart=0;
suma[0]=x[0];
for(i=1;i<n;i++)
suma[i]=suma[i-1]+x[i];
for(i=k-1;i<n;i++)
{
if(suma[i]-min>sumamax)
{
sumamax=suma[i]-min;
pozstart=min_pozstart;
pozend=i;
}
if(min>suma[i-k+1])
{
min=suma[i-k+1];
min_pozstart=i-k+2;
}
}
}
int main()
{
citire();
solve();
fout=fopen(outfile,"w");
fprintf(fout,"%d %d %d\n",pozstart+1,pozend+1,sumamax);
fclose(fout);
return 0;
}