Cod sursa(job #509452)

Utilizator vendettaSalajan Razvan vendetta Data 11 decembrie 2010 08:47:28
Problema Secventa 2 Scor 60
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.06 kb
const f='secv2.in';g='secv2.out';
    nmax=6000000;
var
    v,s:array[0..nmax] of longint;
    kk,k,max,sum,i,j,n,i1,i2,st:longint;
    buf:array[1..1 shl 17] of char;
begin
    assign(input,f);reset(input);
    assign(output,g);rewrite(output);
    settextbuf(input,buf);
    readln(n,kk);
    for i:=1 to n do
        begin
            read(v[i]);
            s[i]:=s[i-1]+v[i];
        end;

    i1:=1;
    i2:=1;
    st:=1;
    sum:=s[1];
    max:=sum;
    for i:=2 to n do
        begin
            sum:=sum+v[i];
            if abs(sum)<abs(s[i])-abs(s[i-1]) then
                begin
                    sum:=s[i]-s[i-1];
                    st:=i;
                end;
            if (abs(sum)>abs(max))then //and (i-st>=kk) then
                begin
                    max:=sum;
                    i1:=st;
                    i2:=i;
                end;
        end;
    writeln(i1,' ',i2,' ',max);
    {writeln(g,i1);
    writeln(g,i2);
    for i:=i1 to i2 do write(g,v[i],' ');
    }
    close(input);
    close(output);
end.