import java.util.*;
public class Main {

	public static void main(String[] args) {
		Scanner stdIn = new Scanner(System.in);
		int N = stdIn.nextInt();
		int[] A = new int[N+1];
		int[] B = new int[N];
		long count = 0;
		
		for(int i = 0; i < N+1; i++) {
			A[i] = stdIn.nextInt();
		}
		for(int i = 0; i < N; i++) {
			B[i] = stdIn.nextInt();
		}
		
		for(int i = 0; i < N; i++) {
			if(A[i] >= B[i]) {
				count += B[i];
			}
			else {
				if(B[i]-A[i] >= A[i+1]) {
					count += (A[i]+A[i+1]);
					A[i+1] = 0;
				}
				else {
					count += B[i];
					A[i+1] -= (B[i]-A[i]);
				}
			}
		}
		
		System.out.println(count);

	}

} import java.util.*; util.* java public class Main {

	public static void main(String[] args) {
		Scanner stdIn = new Scanner(System.in);
		int N = stdIn.nextInt();
		int[] A = new int[N+1];
		int[] B = new int[N];
		long count = 0;
		
		for(int i = 0; i < N+1; i++) {
			A[i] = stdIn.nextInt();
		}
		for(int i = 0; i < N; i++) {
			B[i] = stdIn.nextInt();
		}
		
		for(int i = 0; i < N; i++) {
			if(A[i] >= B[i]) {
				count += B[i];
			}
			else {
				if(B[i]-A[i] >= A[i+1]) {
					count += (A[i]+A[i+1]);
					A[i+1] = 0;
				}
				else {
					count += B[i];
					A[i+1] -= (B[i]-A[i]);
				}
			}
		}
		
		System.out.println(count);

	}

} Main public static void main(String[] args) {
		Scanner stdIn = new Scanner(System.in);
		int N = stdIn.nextInt();
		int[] A = new int[N+1];
		int[] B = new int[N];
		long count = 0;
		
		for(int i = 0; i < N+1; i++) {
			A[i] = stdIn.nextInt();
		}
		for(int i = 0; i < N; i++) {
			B[i] = stdIn.nextInt();
		}
		
		for(int i = 0; i < N; i++) {
			if(A[i] >= B[i]) {
				count += B[i];
			}
			else {
				if(B[i]-A[i] >= A[i+1]) {
					count += (A[i]+A[i+1]);
					A[i+1] = 0;
				}
				else {
					count += B[i];
					A[i+1] -= (B[i]-A[i]);
				}
			}
		}
		
		System.out.println(count);

	} main {
		Scanner stdIn = new Scanner(System.in);
		int N = stdIn.nextInt();
		int[] A = new int[N+1];
		int[] B = new int[N];
		long count = 0;
		
		for(int i = 0; i < N+1; i++) {
			A[i] = stdIn.nextInt();
		}
		for(int i = 0; i < N; i++) {
			B[i] = stdIn.nextInt();
		}
		
		for(int i = 0; i < N; i++) {
			if(A[i] >= B[i]) {
				count += B[i];
			}
			else {
				if(B[i]-A[i] >= A[i+1]) {
					count += (A[i]+A[i+1]);
					A[i+1] = 0;
				}
				else {
					count += B[i];
					A[i+1] -= (B[i]-A[i]);
				}
			}
		}
		
		System.out.println(count);

	} Scanner stdIn = new Scanner(System.in); stdIn new Scanner(System.in) int N = stdIn.nextInt(); N stdIn.nextInt() stdIn.nextInt stdIn 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 long count = 0; count 0 for(int i = 0; i < N+1; i++) {
			A[i] = stdIn.nextInt();
		} int i = 0; int i = 0; i 0 i < N+1 i N+1 N 1 i++ i++ i {
			A[i] = stdIn.nextInt();
		} {
			A[i] = stdIn.nextInt();
		} A[i] = stdIn.nextInt() A[i] A i stdIn.nextInt() stdIn.nextInt stdIn for(int i = 0; i < N; i++) {
			B[i] = stdIn.nextInt();
		} int i = 0; int i = 0; i 0 i < N i N i++ i++ i {
			B[i] = stdIn.nextInt();
		} {
			B[i] = stdIn.nextInt();
		} B[i] = stdIn.nextInt() B[i] B i stdIn.nextInt() stdIn.nextInt stdIn for(int i = 0; i < N; i++) {
			if(A[i] >= B[i]) {
				count += B[i];
			}
			else {
				if(B[i]-A[i] >= A[i+1]) {
					count += (A[i]+A[i+1]);
					A[i+1] = 0;
				}
				else {
					count += B[i];
					A[i+1] -= (B[i]-A[i]);
				}
			}
		} int i = 0; int i = 0; i 0 i < N i N i++ i++ i {
			if(A[i] >= B[i]) {
				count += B[i];
			}
			else {
				if(B[i]-A[i] >= A[i+1]) {
					count += (A[i]+A[i+1]);
					A[i+1] = 0;
				}
				else {
					count += B[i];
					A[i+1] -= (B[i]-A[i]);
				}
			}
		} {
			if(A[i] >= B[i]) {
				count += B[i];
			}
			else {
				if(B[i]-A[i] >= A[i+1]) {
					count += (A[i]+A[i+1]);
					A[i+1] = 0;
				}
				else {
					count += B[i];
					A[i+1] -= (B[i]-A[i]);
				}
			}
		} if(A[i] >= B[i]) {
				count += B[i];
			}
			else {
				if(B[i]-A[i] >= A[i+1]) {
					count += (A[i]+A[i+1]);
					A[i+1] = 0;
				}
				else {
					count += B[i];
					A[i+1] -= (B[i]-A[i]);
				}
			} A[i] >= B[i] A[i] A i B[i] B i {
				count += B[i];
			} count += B[i] count B[i] B i {
				if(B[i]-A[i] >= A[i+1]) {
					count += (A[i]+A[i+1]);
					A[i+1] = 0;
				}
				else {
					count += B[i];
					A[i+1] -= (B[i]-A[i]);
				}
			} if(B[i]-A[i] >= A[i+1]) {
					count += (A[i]+A[i+1]);
					A[i+1] = 0;
				}
				else {
					count += B[i];
					A[i+1] -= (B[i]-A[i]);
				} B[i]-A[i] >= A[i+1] B[i]-A[i] B[i] B i A[i] A i A[i+1] A i+1 i 1 {
					count += (A[i]+A[i+1]);
					A[i+1] = 0;
				} count += (A[i]+A[i+1]) count (A[i]+A[i+1]) A[i] A i A[i+1] A i+1 i 1 A[i+1] = 0 A[i+1] A i+1 i 1 0 {
					count += B[i];
					A[i+1] -= (B[i]-A[i]);
				} count += B[i] count B[i] B i A[i+1] -= (B[i]-A[i]) A[i+1] A i+1 i 1 (B[i]-A[i]) B[i] B i A[i] A i System.out.println(count) System.out.println System.out System System.out count String[] args args public class Main {

	public static void main(String[] args) {
		Scanner stdIn = new Scanner(System.in);
		int N = stdIn.nextInt();
		int[] A = new int[N+1];
		int[] B = new int[N];
		long count = 0;
		
		for(int i = 0; i < N+1; i++) {
			A[i] = stdIn.nextInt();
		}
		for(int i = 0; i < N; i++) {
			B[i] = stdIn.nextInt();
		}
		
		for(int i = 0; i < N; i++) {
			if(A[i] >= B[i]) {
				count += B[i];
			}
			else {
				if(B[i]-A[i] >= A[i+1]) {
					count += (A[i]+A[i+1]);
					A[i+1] = 0;
				}
				else {
					count += B[i];
					A[i+1] -= (B[i]-A[i]);
				}
			}
		}
		
		System.out.println(count);

	}

} public class Main {

	public static void main(String[] args) {
		Scanner stdIn = new Scanner(System.in);
		int N = stdIn.nextInt();
		int[] A = new int[N+1];
		int[] B = new int[N];
		long count = 0;
		
		for(int i = 0; i < N+1; i++) {
			A[i] = stdIn.nextInt();
		}
		for(int i = 0; i < N; i++) {
			B[i] = stdIn.nextInt();
		}
		
		for(int i = 0; i < N; i++) {
			if(A[i] >= B[i]) {
				count += B[i];
			}
			else {
				if(B[i]-A[i] >= A[i+1]) {
					count += (A[i]+A[i+1]);
					A[i+1] = 0;
				}
				else {
					count += B[i];
					A[i+1] -= (B[i]-A[i]);
				}
			}
		}
		
		System.out.println(count);

	}

} Main
import java.util.*;
public class Main {

	public static void main(String[] args) {
		Scanner stdIn = new Scanner(System.in);
		int N = stdIn.nextInt();
		int[] A = new int[N+1];
		int[] B = new int[N];
		long count = 0;
		
		for(int i = 0; i < N+1; i++) {
			A[i] = stdIn.nextInt();
		}
		for(int i = 0; i < N; i++) {
			B[i] = stdIn.nextInt();
		}
		
		for(int i = 0; i < N; i++) {
			if(A[i] >= B[i]) {
				count += B[i];
			}
			else {
				if(B[i]-A[i] >= A[i+1]) {
					count += (A[i]+A[i+1]);
					A[i+1] = 0;
				}
				else {
					count += B[i];
					A[i+1] -= (B[i]-A[i]);
				}
			}
		}
		
		System.out.println(count);

	}

}