Pagini recente » Cod sursa (job #1696580) | Cod sursa (job #650026) | Cod sursa (job #1821425) | Cod sursa (job #1599295) | Cod sursa (job #228448)
Cod sursa(job #228448)
#include <stdio.h>
long long x[50001],s[50001],min[50001],mm,mm2 = mm = -1250000001,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];
}
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;
}