1 条题解

  • 0
    @ 2025-4-14 18:45:30

    Pascal :

    var a,b,c:array[1..101] of longint;
        x,n,i,sum,ans:longint;
    
    procedure qsort(l,r:longint);
    var i,j,t,mid:longint;
    begin
      i:=l; j:=r; mid:=a[(i+j) div 2];
      repeat
        while a[i]<mid do inc(i);
        while a[j]>mid do dec(j);
        if i<=j then
        begin
          t:=a[i]; a[i]:=a[j]; a[j]:=t;
          t:=b[i]; b[i]:=b[j]; b[j]:=t;
          t:=c[i]; c[i]:=c[j]; c[j]:=t;
          inc(i); dec(j);
        end;
      until i>j;
      if l<j then qsort(l,j);
      if i<r then qsort(i,r);
    end;
    
    begin
      
      readln(x,n);
      for i:=1 to n do
        readln(a[i],b[i],c[i]);
      qsort(1,n);
      if b[1]=x then ans:=6+abs(b[1]-c[1])*3+6
        else ans:=abs(b[1]-x)*3+6+abs(b[1]-c[1])*3+6;
      sum:=ans;
      for i:=2 to n do
      begin
        if sum<a[i] then sum:=a[i]-sum
          else sum:=0;
        if b[i]<>c[i-1] then sum:=sum+abs(b[i]-c[i-1])*3+6+abs(b[i]-c[i])*3+6
          else sum:=sum+abs(b[i]-c[i])*3+6;
        ans:=ans+sum;
      end;
      writeln(ans);
      
    end.
    
    • 1

    信息

    ID
    3453
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者