Pagini recente » Cod sursa (job #2730376) | Cod sursa (job #2837284) | Cod sursa (job #564136) | Cod sursa (job #1388559) | Cod sursa (job #254639)
Cod sursa(job #254639)
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-1]*(j-x));
sum2:=abs(ss[j]-ss[y]-aa[y+1]*(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.