Pagini recente » Cod sursa (job #1222603) | Cod sursa (job #1186888) | Cod sursa (job #2439060) | Cod sursa (job #3179282) | Cod sursa (job #228457)
Cod sursa(job #228457)
#include <stdio.h>
long long x[50001],s[50001],min[50001],mm,mm2 = mm = -1250000000,a,b,b1,a1,i,j,n,k;
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];
}
for(i=k;i<=n;i++){
j = min[i-1];
while(i-j > k && j>0)j--;
if(s[i] - s[j] > mm && i-j >= k && j>=0){
a = j+1;
b = i;
mm=s[i] - s[j];
}
if(mm>mm2){
a1 = a;
b1 = b;
mm2= mm;}
j = min[i-1];
while(i-j < k && j>0)j--;
if(s[i] - s[j] > mm && i-j >= k && j>=0){
a = j+1;
b = i;
mm=s[i] - s[j];
}
if(mm2<mm){a1=a;b1=b;mm2=mm;}
}
fprintf(g,"%lld %lld %lld \n",a1,b1,mm2);
return 0;
}