比赛 |
NOIP2015普及组练习 |
评测结果 |
AAAAA |
题目名称 |
混合牛奶 |
最终得分 |
100 |
用户昵称 |
lyl610 |
运行时间 |
0.003 s |
代码语言 |
Pascal |
内存使用 |
0.16 MiB |
提交时间 |
2015-11-04 13:57:46 |
显示代码纯文本
var
a,b:array[1..5000]of longint;
i,j,m,n,t,s,k,l,ans:longint;
procedure sort(l,r: longint);
var
i,j,x,y: longint;
begin
i:=l;
j:=r;
x:=a[(l+r) div 2];
repeat
while a[i]<x do
inc(i);
while x<a[j] do
dec(j);
if not(i>j) then
begin
y:=a[i];a[i]:=a[j];a[j]:=y;
y:=b[i];b[i]:=b[j];b[j]:=y;
inc(i);
j:=j-1;
end;
until i>j;
if l<j then
sort(l,j);
if i<r then
sort(i,r);
end;
begin
assign(input,'milk.in');reset(input);
assign(output,'milk.out');rewrite(output);
readln(n,m);
for i:=1 to m do
readln(a[i],b[i]);
sort(1,m);s:=0;i:=1;ans:=0;
while true do
begin
if s+b[i]<=n then begin s:=s+b[i];ans:=ans+a[i]*b[i];inc(i); end
else begin ans:=ans+(n-s)*a[i];writeln(ans);close(input);close(output);halt; end;
end;
close(input);close(output);
end.