Pagini recente » Cod sursa (job #124719) | Cod sursa (job #603781) | Cod sursa (job #1853668) | Cod sursa (job #3345060) | Cod sursa (job #3310622)
#include <bits/stdc++.h>
using namespace std;
const int NMAX=50000;
int v[NMAX+1];
long long sum[NMAX+1],minsum[NMAX+1],posmin[NMAX+1];
int main() {
ifstream fin("secv2.in");
ofstream fout("secv2.out");
int n,k;
fin>>n>>k;
for (int i=1;i<=n;i++)
fin>>v[i];
sum[0]=0;
for (int i=1;i<=n;i++)
sum[i]=sum[i-1]+v[i];
minsum[0]=0;
posmin[0]=0;
for (int i=1;i<=n;i++) {
if (sum[i]<minsum[i-1]) {
minsum[i]=sum[i];
posmin[i]=i;
} else {
minsum[i]=minsum[i-1];
posmin[i]=posmin[i-1];
}
}
long long r=-900000000;
int st=1,dr=k;
for (int i=k;i<=n;i++) {
long long cand=sum[i]-minsum[i-k];
if (cand>r) {
r=cand;
st=posmin[i-k]+1;
dr=i;
}
}
fout<<st<<" "<<dr<<" "<<r;
return 0;
}