import java.util.Scanner;
 
public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt();
    int[] A = new int[N+1];	// i町の敵の数
    int[] B = new int[N];	// 各勇者の倒せる敵の数
    
    for(int i=0; i<N+1; i++){
      A[i] = sc.nextInt();
    }
    for(int i=0; i<N; i++){
      B[i] = sc.nextInt();
    }

    long cnt = 0;
    for(int i=0; i<N; i++){
      int rem1 = A[i] - B[i];
      if (B[i] > A[i]){
        cnt += A[i];
        B[i] -= A[i];
        int rem2 = A[i+1] - B[i];
        if (B[i] > A[i+1]){
          cnt += A[i+1];
          A[i+1] = 0;
        } else {
          cnt += B[i];
          A[i+1] = rem2;
        }
      } else {
      	cnt += B[i];
      }
    }
    
    System.out.print(cnt);
    sc.close();
		
  }
} import java.util.Scanner; Scanner java.util public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt();
    int[] A = new int[N+1];	// i町の敵の数
    int[] B = new int[N];	// 各勇者の倒せる敵の数
    
    for(int i=0; i<N+1; i++){
      A[i] = sc.nextInt();
    }
    for(int i=0; i<N; i++){
      B[i] = sc.nextInt();
    }

    long cnt = 0;
    for(int i=0; i<N; i++){
      int rem1 = A[i] - B[i];
      if (B[i] > A[i]){
        cnt += A[i];
        B[i] -= A[i];
        int rem2 = A[i+1] - B[i];
        if (B[i] > A[i+1]){
          cnt += A[i+1];
          A[i+1] = 0;
        } else {
          cnt += B[i];
          A[i+1] = rem2;
        }
      } else {
      	cnt += B[i];
      }
    }
    
    System.out.print(cnt);
    sc.close();
		
  }
} Main public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt();
    int[] A = new int[N+1];	// i町の敵の数
    int[] B = new int[N];	// 各勇者の倒せる敵の数
    
    for(int i=0; i<N+1; i++){
      A[i] = sc.nextInt();
    }
    for(int i=0; i<N; i++){
      B[i] = sc.nextInt();
    }

    long cnt = 0;
    for(int i=0; i<N; i++){
      int rem1 = A[i] - B[i];
      if (B[i] > A[i]){
        cnt += A[i];
        B[i] -= A[i];
        int rem2 = A[i+1] - B[i];
        if (B[i] > A[i+1]){
          cnt += A[i+1];
          A[i+1] = 0;
        } else {
          cnt += B[i];
          A[i+1] = rem2;
        }
      } else {
      	cnt += B[i];
      }
    }
    
    System.out.print(cnt);
    sc.close();
		
  } main {
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt();
    int[] A = new int[N+1];	// i町の敵の数
    int[] B = new int[N];	// 各勇者の倒せる敵の数
    
    for(int i=0; i<N+1; i++){
      A[i] = sc.nextInt();
    }
    for(int i=0; i<N; i++){
      B[i] = sc.nextInt();
    }

    long cnt = 0;
    for(int i=0; i<N; i++){
      int rem1 = A[i] - B[i];
      if (B[i] > A[i]){
        cnt += A[i];
        B[i] -= A[i];
        int rem2 = A[i+1] - B[i];
        if (B[i] > A[i+1]){
          cnt += A[i+1];
          A[i+1] = 0;
        } else {
          cnt += B[i];
          A[i+1] = rem2;
        }
      } else {
      	cnt += B[i];
      }
    }
    
    System.out.print(cnt);
    sc.close();
		
  } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int N = sc.nextInt(); N sc.nextInt() sc.nextInt sc int[] A = new int[N+1]; A new int[N+1] N+1 N 1 int[] B = new int[N]; B new int[N] N for(int i=0; i<N+1; i++){
      A[i] = sc.nextInt();
    } int i=0; int i=0; i 0 i<N+1 i N+1 N 1 i++ i++ i {
      A[i] = sc.nextInt();
    } {
      A[i] = sc.nextInt();
    } A[i] = sc.nextInt() A[i] A i sc.nextInt() sc.nextInt sc for(int i=0; i<N; i++){
      B[i] = sc.nextInt();
    } int i=0; int i=0; i 0 i<N i N i++ i++ i {
      B[i] = sc.nextInt();
    } {
      B[i] = sc.nextInt();
    } B[i] = sc.nextInt() B[i] B i sc.nextInt() sc.nextInt sc long cnt = 0; cnt 0 for(int i=0; i<N; i++){
      int rem1 = A[i] - B[i];
      if (B[i] > A[i]){
        cnt += A[i];
        B[i] -= A[i];
        int rem2 = A[i+1] - B[i];
        if (B[i] > A[i+1]){
          cnt += A[i+1];
          A[i+1] = 0;
        } else {
          cnt += B[i];
          A[i+1] = rem2;
        }
      } else {
      	cnt += B[i];
      }
    } int i=0; int i=0; i 0 i<N i N i++ i++ i {
      int rem1 = A[i] - B[i];
      if (B[i] > A[i]){
        cnt += A[i];
        B[i] -= A[i];
        int rem2 = A[i+1] - B[i];
        if (B[i] > A[i+1]){
          cnt += A[i+1];
          A[i+1] = 0;
        } else {
          cnt += B[i];
          A[i+1] = rem2;
        }
      } else {
      	cnt += B[i];
      }
    } {
      int rem1 = A[i] - B[i];
      if (B[i] > A[i]){
        cnt += A[i];
        B[i] -= A[i];
        int rem2 = A[i+1] - B[i];
        if (B[i] > A[i+1]){
          cnt += A[i+1];
          A[i+1] = 0;
        } else {
          cnt += B[i];
          A[i+1] = rem2;
        }
      } else {
      	cnt += B[i];
      }
    } int rem1 = A[i] - B[i]; rem1 A[i] - B[i] A[i] A i B[i] B i if (B[i] > A[i]){
        cnt += A[i];
        B[i] -= A[i];
        int rem2 = A[i+1] - B[i];
        if (B[i] > A[i+1]){
          cnt += A[i+1];
          A[i+1] = 0;
        } else {
          cnt += B[i];
          A[i+1] = rem2;
        }
      } else {
      	cnt += B[i];
      } B[i] > A[i] B[i] B i A[i] A i {
        cnt += A[i];
        B[i] -= A[i];
        int rem2 = A[i+1] - B[i];
        if (B[i] > A[i+1]){
          cnt += A[i+1];
          A[i+1] = 0;
        } else {
          cnt += B[i];
          A[i+1] = rem2;
        }
      } cnt += A[i] cnt A[i] A i B[i] -= A[i] B[i] B i A[i] A i int rem2 = A[i+1] - B[i]; rem2 A[i+1] - B[i] A[i+1] A i+1 i 1 B[i] B i if (B[i] > A[i+1]){
          cnt += A[i+1];
          A[i+1] = 0;
        } else {
          cnt += B[i];
          A[i+1] = rem2;
        } B[i] > A[i+1] B[i] B i A[i+1] A i+1 i 1 {
          cnt += A[i+1];
          A[i+1] = 0;
        } cnt += A[i+1] cnt A[i+1] A i+1 i 1 A[i+1] = 0 A[i+1] A i+1 i 1 0 {
          cnt += B[i];
          A[i+1] = rem2;
        } cnt += B[i] cnt B[i] B i A[i+1] = rem2 A[i+1] A i+1 i 1 rem2 {
      	cnt += B[i];
      } cnt += B[i] cnt B[i] B i System.out.print(cnt) System.out.print System.out System System.out cnt sc.close() sc.close sc String[] args args public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt();
    int[] A = new int[N+1];	// i町の敵の数
    int[] B = new int[N];	// 各勇者の倒せる敵の数
    
    for(int i=0; i<N+1; i++){
      A[i] = sc.nextInt();
    }
    for(int i=0; i<N; i++){
      B[i] = sc.nextInt();
    }

    long cnt = 0;
    for(int i=0; i<N; i++){
      int rem1 = A[i] - B[i];
      if (B[i] > A[i]){
        cnt += A[i];
        B[i] -= A[i];
        int rem2 = A[i+1] - B[i];
        if (B[i] > A[i+1]){
          cnt += A[i+1];
          A[i+1] = 0;
        } else {
          cnt += B[i];
          A[i+1] = rem2;
        }
      } else {
      	cnt += B[i];
      }
    }
    
    System.out.print(cnt);
    sc.close();
		
  }
} public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt();
    int[] A = new int[N+1];	// i町の敵の数
    int[] B = new int[N];	// 各勇者の倒せる敵の数
    
    for(int i=0; i<N+1; i++){
      A[i] = sc.nextInt();
    }
    for(int i=0; i<N; i++){
      B[i] = sc.nextInt();
    }

    long cnt = 0;
    for(int i=0; i<N; i++){
      int rem1 = A[i] - B[i];
      if (B[i] > A[i]){
        cnt += A[i];
        B[i] -= A[i];
        int rem2 = A[i+1] - B[i];
        if (B[i] > A[i+1]){
          cnt += A[i+1];
          A[i+1] = 0;
        } else {
          cnt += B[i];
          A[i+1] = rem2;
        }
      } else {
      	cnt += B[i];
      }
    }
    
    System.out.print(cnt);
    sc.close();
		
  }
} Main
import java.util.Scanner;
 
public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt();
    int[] A = new int[N+1];	// i町の敵の数
    int[] B = new int[N];	// 各勇者の倒せる敵の数
    
    for(int i=0; i<N+1; i++){
      A[i] = sc.nextInt();
    }
    for(int i=0; i<N; i++){
      B[i] = sc.nextInt();
    }

    long cnt = 0;
    for(int i=0; i<N; i++){
      int rem1 = A[i] - B[i];
      if (B[i] > A[i]){
        cnt += A[i];
        B[i] -= A[i];
        int rem2 = A[i+1] - B[i];
        if (B[i] > A[i+1]){
          cnt += A[i+1];
          A[i+1] = 0;
        } else {
          cnt += B[i];
          A[i+1] = rem2;
        }
      } else {
      	cnt += B[i];
      }
    }
    
    System.out.print(cnt);
    sc.close();
		
  }
}