Pagini recente » Cod sursa (job #2135621) | Cod sursa (job #882829) | Cod sursa (job #671041) | Cod sursa (job #93666) | Cod sursa (job #2475080)
#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]-minSum;
solStart=1;
solStop=minLength;
for(i=minLength,minSum=partialSums[0];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;
}