output_description: Print the maximum possible that a train can cover in the run.  
  Output is considered correct if its absolute difference from the judge's
  output is at most 10^{-3}.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
      t_1 t_2 t_3 … t_N
      v_1 v_2 v_3 … v_N
attempt: #  --*-coding:utf-8-*--
  
  
  def f(n, ts, vs):
      sumOfT = sum(ts)
  
      t = 0
      k = 0
      k1s = [k]
  
      for i in range(n - 1):
          t += ts[i]
          k = min(k, vs[i] - t)
          k1s.append(k)
  
      t = sumOfT
      k = t
      k2s = [k]
  
      for i in range(n - 1, 0, -1):
          t -= ts[i]
          k = min(k, vs[i] + t)
          k2s.insert(0, k)
  
      t0 = 0
      d = 0
  
      for t, v, k1, k2 in zip(ts, vs, k1s, k2s):
          # t0 制限速度がv である開始時刻
          # t1 加速を終わらせる時刻
          # t2 減速を始める時刻
          # t3 制限速度がv である終了時刻
  
          t3 = t0 + t
  
          t1 = v - k1
          t2 = k2 - v
  
          if t1 > t2:
              t1 = (k2 - k1) / 2
              t2 = t1
  
          if t0 < t1:
              t12 = min(t1, t3)
              d += k1 * (t12 - t0) + (t12**2 - t0**2) / 2
  
          dt = min(t2, t3) - max(t0, t1)
          if dt > 0:
              d += v * dt
  
          if t2 < t3:
              t22 = max(t2, t0)
              d += k2 * (t3 - t22) - (t3**2 - t22**2) / 2
  
          t0 = t3
  
      return d
  
  
  def test():
      assert f(1, [100], [30]) == 2100
      assert f(2, [60, 50], [34, 38]) == 2632
      assert f(3, [12, 14, 2], [6, 2, 7]) == 76
      assert f(1, [9], [10]) == 20.25
      assert (
          f(
              10,
              [64, 55, 27, 35, 76, 119, 7, 18, 49, 100],
              [29, 19, 31, 39, 27, 48, 41, 87, 55, 70],
          )
          == 20291
      )
  
  
  def main():
      n = int(input())
      ts = list(map(int, input().split()))
      vs = list(map(int, input().split()))
  
      print("{0:.4f}".format(f(n, ts, vs)))
  
  
  if __name__ == "__main__":
      main()
  
problem_description: Statement
  
  In the year 2168, AtCoder Inc., which is much larger than now, is starting a
  limited express train service called _AtCoder Express_.
  
  In the plan developed by the president Takahashi, the trains will run as
  follows:
  
    * A train will run for (t_1 + t_2 + t_3 + ... + t_N) seconds.
    * In the first t_1 seconds, a train must run at a speed of at most v_1 m/s (meters per second). Similarly, in the subsequent t_2 seconds, a train must run at a speed of at most v_2 m/s, and so on.
  
  According to the specifications of the trains, the acceleration of a train
  must be always within ±1m/s^2. Additionally, a train must stop at the
  beginning and the end of the run.
  
  Find the maximum possible distance that a train can cover in the run.
samples: [{"input": "1\n    100\n    30", "output": "2100.000000000000000\n    \n\n![ ](https://img.atcoder.jp/abc076/69c1f4241b608bc36f1f08dd4184d3f0.png)\n\nThe maximum distance is achieved when a train runs as follows:\n\n  * In the first 30 seconds, it accelerates at a rate of 1m/s^2, covering 450 meters.\n  * In the subsequent 40 seconds, it maintains the velocity of 30m/s, covering 1200 meters.\n  * In the last 30 seconds, it decelerates at the acceleration of -1m/s^2, covering 450 meters.\n\nThe total distance covered is 450 \\+ 1200 \\+ 450 = 2100 meters.\n\n* * *"}, {"input": "2\n    60 50\n    34 38", "output": "2632.000000000000000\n    \n\n![ ](https://img.atcoder.jp/abc076/a3e07ea723f50df04461165bc2cc8890.png)\n\nThe maximum distance is achieved when a train runs as follows:\n\n  * In the first 34 seconds, it accelerates at a rate of 1m/s^2, covering 578 meters.\n  * In the subsequent 26 seconds, it maintains the velocity of 34m/s, covering 884 meters.\n  * In the subsequent 4 seconds, it accelerates at a rate of 1m/s^2, covering 144 meters.\n  * In the subsequent 8 seconds, it maintains the velocity of 38m/s, covering 304 meters.\n  * In the last 38 seconds, it decelerates at the acceleration of -1m/s^2, covering 722 meters.\n\nThe total distance covered is 578 \\+ 884 \\+ 144 \\+ 304 \\+ 722 = 2632 meters.\n\n* * *"}, {"input": "3\n    12 14 2\n    6 2 7", "output": "76.000000000000000\n    \n\n![ ](https://img.atcoder.jp/abc076/77f821f590cb19d8e449303a102422dc.png)\n\nThe maximum distance is achieved when a train runs as follows:\n\n  * In the first 6 seconds, it accelerates at a rate of 1m/s^2, covering 18 meters.\n  * In the subsequent 2 seconds, it maintains the velocity of 6m/s, covering 12 meters.\n  * In the subsequent 4 seconds, it decelerates at the acceleration of -1m/s^2, covering 16 meters.\n  * In the subsequent 14 seconds, it maintains the velocity of 2m/s, covering 28 meters.\n  * In the last 2 seconds, it decelerates at the acceleration of -1m/s^2, covering 2 meters.\n\nThe total distance covered is 18 \\+ 12 \\+ 16 \\+ 28 \\+ 2 = 76 meters.\n\n* * *"}, {"input": "1\n    9\n    10", "output": "20.250000000000000000\n    \n\n![ ](https://img.atcoder.jp/abc076/ebde8cbeb649ae7fd338180c0562ae0b.png)\n\nThe maximum distance is achieved when a train runs as follows:\n\n  * In the first 4.5 seconds, it accelerates at a rate of 1m/s^2, covering 10.125 meters.\n  * In the last 4.5 seconds, it decelerates at the acceleration of -1m/s^2, covering 10.125 meters.\n\nThe total distance covered is 10.125 \\+ 10.125 = 20.25 meters.\n\n* * *"}, {"input": "10\n    64 55 27 35 76 119 7 18 49 100\n    29 19 31 39 27 48 41 87 55 70", "output": "20291.000000000000"}]