Pagini recente » Cod sursa (job #582143) | Cod sursa (job #2305225) | Cod sursa (job #84343) | Cod sursa (job #3148609) | Cod sursa (job #1809691)
#include <cstdio>
#include <vector>
#define nmax 50010
using namespace std;
FILE *fin=fopen("secv2.in","r");
FILE *fout=fopen("secv2.out","w");
int n,k,s,minim[nmax],maxim,sf,st,inc[nmax],i,a;
int main()
{
fscanf(fin,"%d%d",&n,&k);
fscanf(fin,"%d",&a);
i=1;
s+=a;
minim[i]=minim[i-1];
inc[i]=inc[i-1];
maxim=s-minim[i-k];
sf=i;
st=inc[i-k]+1;
inc[i]=i;
for (i=2; i<=n; i++)
{
fscanf(fin,"%d",&a);
s+=a;
minim[i]=minim[i-1];
inc[i]=inc[i-1];
if (s-minim[i-k]>maxim)
{
maxim=s-minim[i-k];
sf=i;
st=inc[i-k]+1;
}
if (s<minim[i])
{
inc[i]=i;
minim[i]=s;
}
}
fprintf(fout,"%d %d %d\n",st,sf,maxim);
}