Pagini recente » Cod sursa (job #1699593) | Cod sursa (job #2449526) | Cod sursa (job #2811000) | Cod sursa (job #312754) | Cod sursa (job #3030405)
#include <stdio.h>
#include <ctype.h>
#define MAXN 50000
#define INF 2000000000
#define BUF_SIZE (1 << 17)
int v[MAXN];
char buf[BUF_SIZE];
int pos = BUF_SIZE;
FILE *fin, *ofut;
inline char nextch(){
if(pos==BUF_SIZE){
fread(buf, BUF_SIZE, 1, fin);
pos=0;
}
return buf[pos++];
}
inline int read(){
int x=0, s=1;
char ch=nextch();
while((!isdigit(ch))&&(ch!='-')){
ch=nextch();
}
if(ch=='-'){
s=-1;
ch=nextch();
}
while(isdigit(ch)){
x=10*x+ch-'0';
ch=nextch();
}
return x*s;
}
int main(){
int n, k, min = INF, ans = -INF, i, st, dr, pst = 0;
fin=fopen("secv2.in", "r");
ofut=fopen("secv2.out", "w");
n = read(); k = read();
for(i=1; i<=n; i++){
v[i] = read();
v[i]+=v[i-1];
}
for(i=k; i<=n; i++){
if(min>v[i-k]){
min=v[i-k];
pst = i - k + 1;
}
if(ans<v[i]-min){
ans=v[i]-min;
st = pst;
dr = i;
}
}
fprintf(ofut, "%d %d %d\n", st, dr, ans);
fclose(fin);
fclose(ofut);
return 0;
}