Pagini recente » Cod sursa (job #3263306) | Cod sursa (job #295214) | Cod sursa (job #2891379) | Cod sursa (job #2752695) | Cod sursa (job #254329)
Cod sursa(job #254329)
program cuburi;
var f,g:text;
x,y,po,n,m,i,j,max:longint;
v:array[1..5000] of longint;
nr,va:longint;
begin
assign(f,'cuburi2.in');
assign(g,'cuburi2.out');
reset(f);
rewrite(g);
read(f,n,m);readln(f);
for i:=1 to n do
read(f,v[i]);
for i:=1 to m do
begin
readln(f);
read(f,x,y);
max:=v[x];nr:=0;po:=x;va:=0;
for j:=x+1 to y do
if v[j]>max then begin max:=v[j]; po:=j; nr:=nr*2+v[j-1]; va:=nr;end else nr:=nr*2+v[j-1];
nr:=0;
for j:=y-1 downto po do
nr:=nr*2+v[j+1];
if (y-x=2) and (v[x]+v[y]<nr+va) then writeln(g,x+1,' ',v[x]+v[y]) else
writeln(g,po,' ',nr+va);
end;
close(f);
close(g);
end.