// inputに入力データ全体が入る
function Main(input) {
    // 1行目がinput[0], 2行目がinput[1], …に入る
    input = input.split("\n");
    tmp0 = input[0].split(" ");
    tmp1 = input[1].split(" ")
    tmp2 = input[2].split(" ")
    N = Number(tmp0[0])
    A = []
    B = []

    for(var i=0; i<=N; i++)
    {
      A.push(Number(tmp1[i]))
      if(i !== N){
        B.push(Number(tmp2[i]))
      }
    }

    var ans=0
    for(var i=0; i < N; i++)
    {
      // B[i]->A[i]
      var knock_down=Math.min(A[i], B[i])
      A[i] -= knock_down
      B[i] -= knock_down
      ans+= knock_down

      // B[i]->A[i+1]
      var knock_down2 = Math.min(A[i+1], B[i])
      A[i+1] -= knock_down2
      B[i] -= knock_down2
      ans += knock_down2
    }
    console.log(ans)

}
  //*この行以降は編集しないでください（標準入出力から一度に読み込み、Mainを呼び出します）
Main(require("fs").readFileSync("/dev/stdin", "utf8"));
// Main("2\n3 5 2\n4 5\n");