大厅安排;
var nn,mm,n,i,j:longint; f:array[-10..1001]of longint; a:array[-10..1001,0..3]of longint; procedure kp(l,r:longint); var i,j,mid:longint; begin if l>=r then exit; i:=l;j:=r;mid:=a[(l+r)div 2,1]; repeat while a[i,1]<mid do inc(i); while a[j,1]>mid do dec(j); if i<=j then begin a[i,0]:=a[i,1];a[i,1]:=a[j,1];a[j,1]:=a[i,0]; a[i,0]:=a[i,2];a[i,2]:=a[j,2];a[j,2]:=a[i,0]; inc(i);dec(j); end; until i>j; kp(l,j); kp(i,r); end; begin readln(n); for i:=1 to n do readln(a[i,1],a[i,2]); kp(1,n); for i:=1 to n do begin mm:=0; for j:=n downto 1 do begin if a[j,2]<a[i,1] then if f[j]+a[i,2]-a[i,1]>f[i] then begin mm:=f[j]+a[i,2]-a[i,1]; nn:=j; end; end; f[nn]:=mm; end; mm:=0; for i:=1 to n do if f[i]>mm then mm:=f[i]; writeln(mm); end.
火车。
type
arr:array[0..4]of longint;
var
i,j,k,n,m1,m2,c1,c2,c3,l1,l2,l3,max:longint;
a,f,b:array[0..10000]of longint;
c,l:arr;
procedure xp(xx:arr);
var
i,j,k:longint;
begin
for i:=1 to 3 do
for j:=i+1 to 2 do
begin
if xx[i]<xx[j] then
begin
xx[0]:=xx[i];
xx[i]:=xx[j];
xx[j]:=xx[0];
end;
end;
end;
begin
readln(c[1],c[2],c[3],l[1],l[2],l[3]);
readln(n);
readln(m1,m2);
for i:=1 to m1 do
begin
readln(k);
end;
for i:=m1+1 to n+1 do
begin
readln(j);
b[i]:=j-b[i-1];
end;
b[m1]:=b[m1+1]-k;
xp(c);
xp(l);
for i:=1 to 3 do
begin
for j:=m1 to m2 do
begin
if f[j]>f[j]
end;
end;
end.
arr:array[0..4]of longint;
var
i,j,k,n,m1,m2,c1,c2,c3,l1,l2,l3,max:longint;
a,f,b:array[0..10000]of longint;
c,l:arr;
procedure xp(xx:arr);
var
i,j,k:longint;
begin
for i:=1 to 3 do
for j:=i+1 to 2 do
begin
if xx[i]<xx[j] then
begin
xx[0]:=xx[i];
xx[i]:=xx[j];
xx[j]:=xx[0];
end;
end;
end;
begin
readln(c[1],c[2],c[3],l[1],l[2],l[3]);
readln(n);
readln(m1,m2);
for i:=1 to m1 do
begin
readln(k);
end;
for i:=m1+1 to n+1 do
begin
readln(j);
b[i]:=j-b[i-1];
end;
b[m1]:=b[m1+1]-k;
xp(c);
xp(l);
for i:=1 to 3 do
begin
for j:=m1 to m2 do
begin
if f[j]>f[j]
end;
end;
end.