记录编号 20732 评测结果 AAAAAAAAAA
题目名称 [NOIP 2007]纪念品分组 最终得分 100
用户昵称 Gravatar苏轼 是否通过 通过
代码语言 Pascal 运行时间 0.050 s
提交时间 2010-10-28 20:00:49 内存使用 0.17 MiB
显示代码纯文本
program group(input,output);

var 
  a:array[1..30000] of integer;
  w,n,i,j,s:integer;

procedure qsort(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 i<=j then
   begin
    y:=a[i];
    a[i]:=a[j];
    a[j]:=y;
    inc(i);
    dec(j);
   end;
  until i>j;

  if l<j then qsort(l,j);
  if i<r then qsort(i,r);
end;

begin
  assign(input,'group.in');
  assign(output,'group.out');
  reset(input);
  rewrite(output);

  readln(w);
  readln(n);

  for i:=1 to n do
    readln(a[i]);

  qsort(1,n); 

  i:=1;
  j:=n;
  while i<=j do
  begin
    if i=j then
    begin
      inc(s);
      break;
    end;

    if a[i]+a[j]<=w then
    begin
      inc(i);
      dec(j);
      inc(s);
    end
    else
    begin
      inc(s);
      dec(j);
    end;

  end;

  writeln(s);

  close(input);
  close(output);
end.