Pagini recente » Cod sursa (job #1580467) | Cod sursa (job #2719671) | Cod sursa (job #2489420) | Cod sursa (job #2883058) | Cod sursa (job #2475082)
#include <cstdio>
using namespace std;
int partialSums[51024],minLength,partialSumsLength;
int takeMin(int x,int y) {
return (x-y)*(x<y)+y;
}
void read() {
int i,newElem;
scanf("%d%d",&partialSumsLength,&minLength);
for(i=1;i<=partialSumsLength;++i) {
scanf("%d",&newElem);
partialSums[i]=partialSums[i-1]+newElem;
}
}
void solve() {
int i,minSum,sol,minSumStart,solStart,solStop;
sol=partialSums[minLength];
solStart=1;
solStop=minLength;
minSum=partialSums[0];
minSumStart=0;
for(i=minLength;i<=partialSumsLength;++i) {
if(minSum>partialSums[i-minLength]) {
minSum=partialSums[i-minLength];
minSumStart=i-minLength;
}
if(partialSums[i]-minSum>sol) {
sol=partialSums[i]-minSum;
solStart=minSumStart;
solStop=i;
}
}
printf("%d %d %d",solStart+1,solStop,sol);
}
int main()
{
freopen("secv2.in","r",stdin);
freopen("secv2.out","w",stdout);
read();
solve();
return 0;
}