Pagini recente » Cod sursa (job #3146403) | Cod sursa (job #1958001) | Cod sursa (job #284270) | Cod sursa (job #2679027) | Cod sursa (job #254732)
Cod sursa(job #254732)
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.