CTNEWS - Lâu đài cát
Tác giả: ladpro98
Ngôn ngữ: Pascal
program ctnews;
uses math;
var n,x,y:longint;
a:array[1..2,1..25555] of longint;
i:longint;
res:int64;
procedure input;
var f:text;
i:longint;
begin
assign(f,'');
reset(f);
readln(f,n,x,y);
for i:=1 to n do
readln(f,a[1,i],a[2,i]);
close(f);
end;
procedure swap(k,i,j:longint);
var t:longint;
begin
t:=a[k,i];
a[k,i]:=a[k,j];
a[k,j]:=t;
end;
procedure sort(k,l,r:longint);
var p,i,j:longint;
begin
if l>=r then exit;
p:=a[k,random(r-l+1)+l];
i:=l;j:=r;
repeat
while a[k,i]<p do inc(i);
while a[k,j]>p do dec(j);
if i<=j then
begin
if i<j then swap(k,i,j);
inc(i);dec(j);
end;
until i>j;
sort(k,l,j);sort(k,i,r);
end;
begin
input;
sort(1,1,n);
sort(2,1,n);
for i:=1 to n do
begin
if a[1,i]>a[2,i] then
res:=res+(a[1,i]-a[2,i])*y
else
res:=res+(a[2,i]-a[1,i])*x;
end;
write(res);
end.