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: N = int(input())
  t = list(map(int, input().split()))
  v = list(map(int, input().split()))
  
  if N == 1:  # 最初の1区間だけ
      if t[0] % 2 == 1:  # 奇数秒
          if t[0] / 2 < v[0]:
              print((t[0] / 2) ** 2)
              exit()
  
  
  # print ('t', t)
  # print ('v', v)
  N_INF = -(10**9)
  DP = [
      [N_INF] * (102) for _ in range(100 * 200 + 2)
  ]  # DP[T][V] := 時刻Tに速度Dで走っているときの時刻Tまでの走行距離の最大値
  DP[0][0] = 0
  # print (DP[0][0:5])
  time = 1
  for i in range(N):
      # print (i)
      # print ('time', time)
      for j in range(time, time + t[i]):  # 時刻
          # print (j, end = ' ')
          for k in range(0, v[i] + 1):  # 速度
              if k == 0:
                  # print (j, k)
                  # print (max(DP[j - 1][0], DP[j - 1][1] +  1/2))
                  DP[j][k] = max(DP[j - 1][0], DP[j - 1][1] + 1 / 2)
              elif k != v[i]:
                  DP[j][k] = max(
                      DP[j - 1][k - 1] + k - 1 / 2,
                      DP[j - 1][k] + k,
                      DP[j - 1][k + 1] + k + 1 / 2,
                  )
              else:  # (k == v[i] and j != time)
                  DP[j][k] = max(DP[j - 1][k - 1] + k - 1 / 2, DP[j - 1][k] + k)
          # print (DP[j][0:5])
      time += t[i]
  # print (time)
  print(DP[time - 1][0])
  # print ('T = 6, V = 6', DP[6][6])
  # print ('T = 12, V = 2', DP[12][2])
  # print ('T = 12, V = 3', DP[12][3])
  # print ('T = 13, V = 2', DP[13][2])
  # print ('T = 26 V = 2', DP[26][2])
  # print ('T = 27 V = 2', DP[27][2])
  
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"}]