Pagini recente » Cod sursa (job #3238281) | Cod sursa (job #2546129) | Cod sursa (job #454382) | Cod sursa (job #84018) | Cod sursa (job #263974)
Cod sursa(job #263974)
#include <stdio.h>
#define DIM 50002
#define INF 1250000001
long long S[DIM],M[DIM],A[DIM],P[DIM];
long long n,k,i,max,s,pMax,iMax,fMax;
int main(){
FILE *f = fopen("secv2.in","r");
S[0] = 0;
// M[0] = INF;
max = -INF;
fscanf(f,"%lld %lld",&n,&k);
fscanf(f,"%lld",&A[1]);
M[1] = A[1];
P[1] = 1;
S[1] = A[1];
if (k==1) {
max = S[1];
iMax = 1;
fMax = 1;
}
for (i=2;i<=n;i++) {
fscanf(f,"%lld",&A[i]);
S[i] = S[i-1] + A[i];
if (S[i]<M[i-1]){
M[i] = S[i];
P[i] = i;
}
else {
M[i] = M[i-1];
P[i] = P[i-1];
}
if (i>=k) {
if (S[i]-M[i-k]>max) {
max = S[i]-M[i-k];
iMax = P[i-k]+1;
fMax = i;
}
}
}
fclose(f);
FILE *g = fopen("secv2.out","w");
fprintf(g,"%lld %lld %lld",iMax,fMax,max);
fclose(g);
return 0;
}