Pagini recente » Cod sursa (job #2513362) | Cod sursa (job #3248702) | Cod sursa (job #2778215) | Cod sursa (job #1587291) | Cod sursa (job #2544977)
#include <fstream>
#define K 50002
#define INF 1000000000
using namespace std;
ifstream fin("secv2.in");
ofstream fout("secv2.out");
int n,i,k,p,v[K],s[K],smin,sol,pmax,umax;
int main(){
fin>>n>>k;
for(i=1;i<=n;i++){
fin>>v[i];
s[i]=s[i-1]+v[i];
}
smin=INF; sol=-INF;
for(i=k;i<=n;i++){
//secv terminata pe poz i poate incepe de la poz j=1,2,.. cel mult i-k+1
//suma s[i]-s[j-1] maxima => am nev de s[j-1] minim ,j=1,i-k+1
if(s[i-k]<smin){
smin=s[i-k];
p=i-k;
}
if(s[i]-smin>sol){
sol=s[i]-smin;
pmax=p;
umax=i;
}
}
fout<<pmax+1<<" "<<umax<<" "<<sol<<"\n";
return 0;
}