fork download
  1. uses math;
  2. const fi='hirehp.inp';
  3. fo='hirehp.out';
  4. oo=round(1e17);
  5. maxn=round(1e7);
  6. var res,lazy:array[0..maxn]of int64;
  7. t,p:int64;
  8. procedure mo;
  9. begin
  10. assign(input,fi);reset(input);
  11. assign(output,fo);rewrite(output);
  12. end;
  13. procedure dong;
  14. begin
  15. closE(input);close(output);
  16. end;
  17. procedure sinh(l,r,id:longint);
  18. var mid:longint;
  19. begin
  20. mid:=(l+r) div 2;
  21. lazy[id]:=oo;
  22. res[id]:=oo;
  23. if l=r then exit;
  24. sinh(l,mid,id*2);
  25. sinh(mid+1,r,id*2+1);
  26. end;
  27. function find(x,l,r,id:longint):int64;
  28. var mid:longint;
  29. begin
  30. res[id]:=min(res[id],lazy[id]);
  31. lazy[id*2]:=min(lazy[id*2],lazy[id]);
  32. lazy[id*2+1]:=min(lazy[id*2+1],lazy[id]);
  33. lazy[id]:=oo;
  34. if (r<x) or(x<l) then exit;
  35. if (l=r) and (l=x) then
  36. begin
  37. t:=res[id];
  38. exit;
  39. end;
  40. mid:=(l+r) div 2;
  41. find(x,l,mid,id*2);
  42. find(x,mid+1,r,id*2+1);
  43. end;
  44. procedure update(u,v:longint;w:int64;l,r,id:longint);
  45. var mid:longint;
  46. begin
  47. res[id]:=min(res[id],lazy[id]);
  48. lazy[id*2]:=min(lazy[id*2],lazy[id]);
  49. lazy[id*2+1]:=min(lazy[id*2+1],lazy[id]);
  50. lazy[id]:=oo;
  51. if (r<u) or (v<l) then exit;
  52. if (u<=l) and (r<=v) then
  53. begin
  54. res[id]:=min(res[id],w);
  55. lazy[id*2]:= min(lazy[id*2],w);
  56. lazy[id*2+1]:=min(lazy[id*2],w);
  57. exit;
  58. end;
  59. mid:=(l+r) div 2;
  60. update(u,v,w,l,mid,id*2);
  61. update(u,v,w,mid+1,r,id*2+1);
  62. end;
  63. procedure nhap;
  64. var r,i,n:longint;
  65. begin
  66. readln(n);
  67. sinh(1,n,1);
  68. for i:=1 to n do
  69. begin
  70. readln(r,p);
  71. if i=1 then t:=0 else find(i-1,1,n,1);
  72. t:=t+p;
  73. update(i,r,t,1,n,1);
  74. find(i,1,n,1);
  75. //writeln(t);
  76. end;
  77. find(n,1,n,1);
  78. writeln(t);
  79. end;
  80. begin
  81. mo;
  82. nhap;
  83. dong;
  84. end.
  85.  
  86.  
Runtime error #stdin #stdout 0s 156736KB
stdin
Standard input is empty
stdout
An unhandled exception occurred at $080480E4 :
EInOutError : File not found
  $080480E4