Pagini recente » Cod sursa (job #3354016) | Cod sursa (job #341190) | Cod sursa (job #1377567) | Monitorul de evaluare | Cod sursa (job #1903073)
#include<stdio.h>
using namespace std;
#define INF 2000000000
#define MAXN 50001
int v[MAXN];
int main(){
FILE*fin=fopen("secv2.in", "r");
FILE*fout=fopen("secv2.out", "w");
int n, k, i, st, dr, pozst, pozdr, max, s;
fscanf(fin, "%d%d", &n, &k);
max=-INF; s=-INF;
for(i=1; i<=n; i++){
fscanf(fin, "%d", &v[i]);
if(s<0){
s=0;
st=i;
}
s+=v[i];
if(i-st+1>=k && s>max){
max=s;
pozst=st;
pozdr=i;
}
}
if(s==-INF){
s=0;
for(i=1; i<=k; i++)
s+=v[i];
max=s;
pozst=1; pozdr=k;
for(i=k+1; i<=n; i++){
s=s-v[i-k]+v[i];
if(s>max)
max=s;
}
}
fprintf(fout, "%d %d %d", pozst, pozdr, max);
return 0;
}