比赛 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.