Cod sursa(job #254732)

Utilizator DiaconuDiaconu Loredana Diaconu Data 7 februarie 2009 13:55:36
Problema Cuburi2 Scor 5
Compilator fpc Status done
Runda Stelele Informaticii 2009, clasele 9-10, ziua 2 Marime 0.76 kb
var     f,g:text;
        min,sum,sum2:longint;
        s,a,ss,aa,v:array[0..250000] of longint;
        i,n,j,x,y,m,poz:longint;
begin
assign (f,'cuburi2.in');reset(f);
assign (g,'cuburi2.out');rewrite (g);
readln (f,n,m);
for i:=1 to n do
 read (f,v[i]);
fillchar(a,sizeof(a),0);
fillchar(s,sizeof(s),0);
for i:=1 to n do begin
 a[i]:=a[i-1]+v[i-1];
 s[i]:=s[i-1]+a[i];
end;

for i:=n downto 1 do begin
 aa[i]:=aa[i+1]+v[i+1];
 ss[i]:=ss[i+1]+aa[i];
end;

for i:=1 to m do begin
 readln (f,x,y);
 min:=maxint;
 for j:=x to y do begin
  sum:=abs(s[j]-s[x]-(a[x]*(j-x)));
  sum2:=abs(ss[j]-ss[y]-(aa[y]*(y-j)));
  if sum+sum2<min then begin
   min:=sum+sum2;
   poz:=j;
  end;
 end;
 writeln (g,poz,' ',min);
end;
close(f);close(g);
end.