Pagini recente » Cod sursa (job #1732835) | Cod sursa (job #2296853) | Cod sursa (job #1180728) | Cod sursa (job #482597) | Cod sursa (job #228197)
Cod sursa(job #228197)
#include <stdio.h>
long long i,n,k,x[50000],s[50000],min[50000],mm = -130000000,a,b;
int main(){
FILE*f=fopen("secv2.in","r");
FILE*g=fopen("secv2.out","w");
fscanf(f,"%lld %lld %lld",&n,&k,&x[1]);
s[1] = x[1];
min[1] = 1;
for(i=2;i<=n;i++){
fscanf(f,"%lld",&x[i]);
s[i] = s[i-1] + x[i];
if(s[i]<s[min[i-1]]) min[i] = i;
else min[i] = min[i-1];
}
//mm = s[k];
if(k==n) fprintf(g,"1 %lld %lld", n, s[n]);
else{
for(i=k;i<=n;i++){
if(s[i] - s[min[i-1]] > mm && i-min[i-1] >= k){
a=min[i-k+1];
b=i;
mm=s[i] - s[min[i-k+1]];
}
if(i - min[i-1] <k)
if(s[i] - s[min[i-1]-(k-(i-min[i-1]))] > mm){
a = min[i-1]-(k-(i-min[i-1]));
b = i;
mm = s[i] - s[min[i-1]-(k-(i-min[i-1]))];
}
}
fprintf(g,"%lld %lld %lld\n",a,b,mm);
}
return 0;
}