Pagini recente » Cod sursa (job #2592575) | Cod sursa (job #266021) | Cod sursa (job #2807835) | Cod sursa (job #1540535) | Cod sursa (job #4534)
Cod sursa(job #4534)
/*
(C) Nemesis
Infoarena secventa 2
*/
#include<stdio.h>
#define MAXN 50001
int a[MAXN], kmin[MAXN], n, k, maxi, maxj;
long long sum[MAXN], min[MAXN], max;
void solve()
{
sum[1]= a[1];
min[1]= a[1];
kmin[1]= 1;
max= -26000;
maxi=-1;
maxj=-1;
for(int i=2; i<=n; ++i) {
sum[i]= sum[i-1] + a[i];
if( sum[i] < min[i-1]) { min[i]= sum[i]; kmin[i]=i; }
else { min[i]= min[i-1]; kmin[i]=kmin[i-1]; }
if( sum[i] - min[i-k+1] > max) { max=sum[i]- min[i-k+1]; maxi=kmin[i-k+1]; maxj=i; }
}
}
int main()
{
freopen("secv2.in","r",stdin);
scanf("%d %d",&n,&k);
for(int i=1; i<=n; ++i) scanf("%d",&a[i]);
solve();
freopen("secv2.out","w",stdout);
printf("%ld %ld %ld\n",maxi+1,maxj,max);
}