Submission #3620354


Source Code Expand

program AT843;
 type
  wwb=^wb;
  wb=record
   n:wwb;
   t,v:longint;
  end;
 var
  b:array[0..204001] of wb;
  c:array[0..400001] of longint;
  h,ax,by,d,f:array[0..2001] of longint;
  i,m,n,p,x,y,xc,yc:longint;
 procedure hahainc(x,y,z:longint);
  begin
   inc(p);
   b[p].n:=@b[h[x]];
   b[p].t:=y;
   b[p].v:=z;
   h[x]:=p;
  end;
 procedure hahaSPFA(k:longint);
  var
   o,p,x,y:longint;
   i,j:wwb;
  begin
   o:=0;
   p:=1;
   c[p]:=n<<1+1;
   f[c[p]]:=1;
   d[c[p]]:=0;
   repeat
    inc(o);
    x:=c[o];
    f[x]:=0;
    j:=@b[h[x]];
    while j<>@b[0] do
     begin
      i:=j;
      j:=j^.n;
      if d[x]+i^.v<d[i^.t] then
       begin
        d[i^.t]:=d[x]+i^.v;
        if f[i^.t]=0 then
         begin
          inc(p);
          c[p]:=i^.t;
          f[i^.t]:=1;
         end;
       end;
     end;
    if d[n<<1+1]<0 then break;
   until o=p;
  end;
 begin
  readln(n,m);
  p:=0;
  filldword(h,sizeof(h)>>2,0);
  for i:=1 to n do
   begin
    read(ax[i]);
    hahainc(n<<1+1,i,ax[i]);
    hahainc(i,n<<1+1,0);
   end;
  readln;
  for i:=n+1 to n<<1 do
   begin
    read(by[i]);
    hahainc(n<<1+1,i,0);
    hahainc(i,n<<1+1,by[i]);
   end;
  readln;
  for i:=1 to m do
   begin
    readln(x,y,xc,yc);
    hahainc(x,y+n,-xc);
    hahainc(y+n,x,yc);
   end;
  filldword(d,sizeof(d)>>2,1008208820);
  filldword(f,sizeof(f)>>2,0);
  hahaSPFA(n<<1+1);
  if d[n<<1+1]<0 then writeln('no')
                 else writeln('yes');
 end.

Submission Info

Submission Time
Task H - Asteroids2
User dictoy
Language Pascal (FPC 2.6.2)
Score 200
Code Size 1527 Byte
Status AC
Exec Time 44 ms
Memory 4096 KB

Compile Error

/usr/bin/ld.bfd: warning: ./link.res contains output sections; did you forget -T?

Judge Result

Set Name All
Score / Max Score 200 / 200
Status
AC × 41
Set Name Test Cases
All 00-sample-00, 00-sample-01, 10-small_yes-00, 10-small_yes-01, 10-small_yes-02, 10-small_yes-03, 10-small_yes-04, 10-small_yes-05, 10-small_yes-06, 10-small_yes-07, 10-small_yes-08, 20-small_disturb-00, 20-small_disturb-01, 20-small_disturb-02, 20-small_disturb-03, 20-small_disturb-04, 20-small_disturb-05, 20-small_disturb-06, 20-small_disturb-07, 20-small_disturb-08, 30-large_yes-00, 30-large_yes-01, 30-large_yes-02, 30-large_yes-03, 30-large_yes-04, 40-large_disturb-00, 40-large_disturb-01, 40-large_disturb-02, 40-large_disturb-03, 40-large_disturb-04, 40-large_disturb-05, 40-large_disturb-06, 40-large_disturb-07, 40-large_disturb-08, 40-large_disturb-09, 40-large_disturb-10, 40-large_disturb-11, 40-large_disturb-12, 40-large_disturb-13, 40-large_disturb-14, 40-large_disturb-15
Case Name Status Exec Time Memory
00-sample-00 AC 1 ms 2176 KB
00-sample-01 AC 1 ms 2176 KB
10-small_yes-00 AC 1 ms 2176 KB
10-small_yes-01 AC 1 ms 2176 KB
10-small_yes-02 AC 1 ms 2176 KB
10-small_yes-03 AC 1 ms 2176 KB
10-small_yes-04 AC 3 ms 2304 KB
10-small_yes-05 AC 1 ms 2176 KB
10-small_yes-06 AC 5 ms 2432 KB
10-small_yes-07 AC 5 ms 2432 KB
10-small_yes-08 AC 5 ms 2432 KB
20-small_disturb-00 AC 1 ms 2176 KB
20-small_disturb-01 AC 1 ms 2176 KB
20-small_disturb-02 AC 1 ms 2176 KB
20-small_disturb-03 AC 1 ms 2176 KB
20-small_disturb-04 AC 1 ms 2176 KB
20-small_disturb-05 AC 1 ms 2176 KB
20-small_disturb-06 AC 5 ms 2560 KB
20-small_disturb-07 AC 5 ms 2560 KB
20-small_disturb-08 AC 5 ms 2432 KB
30-large_yes-00 AC 44 ms 4096 KB
30-large_yes-01 AC 44 ms 4096 KB
30-large_yes-02 AC 44 ms 4096 KB
30-large_yes-03 AC 44 ms 4096 KB
30-large_yes-04 AC 44 ms 4096 KB
40-large_disturb-00 AC 41 ms 4096 KB
40-large_disturb-01 AC 41 ms 4096 KB
40-large_disturb-02 AC 42 ms 4096 KB
40-large_disturb-03 AC 41 ms 4096 KB
40-large_disturb-04 AC 41 ms 4096 KB
40-large_disturb-05 AC 41 ms 4096 KB
40-large_disturb-06 AC 41 ms 4096 KB
40-large_disturb-07 AC 41 ms 4096 KB
40-large_disturb-08 AC 41 ms 4096 KB
40-large_disturb-09 AC 41 ms 4096 KB
40-large_disturb-10 AC 41 ms 4096 KB
40-large_disturb-11 AC 41 ms 4096 KB
40-large_disturb-12 AC 41 ms 4096 KB
40-large_disturb-13 AC 41 ms 4096 KB
40-large_disturb-14 AC 41 ms 4096 KB
40-large_disturb-15 AC 41 ms 4096 KB