Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

哪位大牛能帮我看看这个pascal程序有哪里错了!...

Posted by fstephen at 2009-07-18 21:23:23 on Problem 3688
var
  i,j,n,m:longint;
  ans:int64;
  f:array[0..100001,0..1] of boolean;
  a:array[0..100001] of longint;
procedure qsort(l,r:longint);
  var
    i,j,k:longint;
  begin
    if l>=r then exit;
    i:=l; j:=r;
    k:=a[random(r-l)+l];
    while i<=j do
      begin
        while a[i]<k do inc(i);
        while a[j]>k do dec(j);
        if i<=j then
          begin
            a[0]:=a[i]; a[i]:=a[j]; a[j]:=a[0];
            inc(i); dec(j);
          end;
      end;
    qsort(i,r); qsort(l,j);
  end;
begin
  readln(n,m);
  randomize;
  while n+m<>0 do
    begin
      fillchar(f,sizeof(f),false);
      f[0,0]:=true;
      for i:=1 to n do
        read(a[i]);
      qsort(1,n);
      for i:=1 to n do
        for j:=m downto a[i] do
          begin
            f[j,0]:=f[j-a[i],1];
            f[j,1]:=f[j-a[i],0];
          end;
      ans:=0;
      for i:=1 to m do
        if (f[i,1]) and (not f[i,0]) then ans:=ans+1;
      writeln(ans);
      readln(n,m);
    end;
end.

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator