Cod sursa(job #97193)
#include <fstream.h>
#include <values.h>
long a[50000],n,K,inc,sf,min;
void citire(){
ifstream fin("secv2.in");
fin>>n>>K;
for (long i=0;i<n;i++)
fin>>a[i];
fin.close();
}
long maxim(){
long max=-MAXLONG,S=0;
for (long q=0;q<K;q++)
S+=a[q];
long S1=S;
max=S;
inc=1;
sf=K+1;
for (long h=K;h<n;h++){
S1+=a[h];
if (S1>max){
max=S1;
inc=1;
sf=h+1;}}
for (long i=1;i<=n-K;i++){
S-=a[i-1];
S+=a[i+K-1];
S1=S;
if (max<S){
max=S;
inc=i+1;
sf=i+K+1;}
for (long j=i+K;j<n;j++){
S+=a[j];
if (S>max){
max=S;
inc=i+1;
sf=j+1;}
}
S=S1;
}
return max;
}
int main(){
citire();
ofstream fout("sec2.out");
min=maxim();
fout<<inc<<" "<<sf<<" "<<min<<"\n";
fout.close();
return 0;
}