import java.util.Scanner;

public class Main {
	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		int n;
		n = sc.nextInt();
		int[] a = new int[n + 1];
		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 ans = 0;


		for (int i = 0; i < n; i++) {

			if (a[i] >= b[i]) {
				ans += b[i];
			} else {

				if (a[i] < b[i]) {

					int zan = b[i] - a[i];

					ans += a[i];

					if (a[i+1] >= zan) {
						ans += zan;
						a[i+1] = a[i+1] - zan;
					// 2番目の街までしか倒せない
					} else if(a[i+1] < zan) {
						ans += a[i+1];
						a[i+1] = 0;
					}
				}
			}
		}

		System.out.println(ans);

	}
} import java.util.Scanner; Scanner java.util public class Main {
	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		int n;
		n = sc.nextInt();
		int[] a = new int[n + 1];
		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 ans = 0;


		for (int i = 0; i < n; i++) {

			if (a[i] >= b[i]) {
				ans += b[i];
			} else {

				if (a[i] < b[i]) {

					int zan = b[i] - a[i];

					ans += a[i];

					if (a[i+1] >= zan) {
						ans += zan;
						a[i+1] = a[i+1] - zan;
					// 2番目の街までしか倒せない
					} else if(a[i+1] < zan) {
						ans += a[i+1];
						a[i+1] = 0;
					}
				}
			}
		}

		System.out.println(ans);

	}
} Main public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		int n;
		n = sc.nextInt();
		int[] a = new int[n + 1];
		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 ans = 0;


		for (int i = 0; i < n; i++) {

			if (a[i] >= b[i]) {
				ans += b[i];
			} else {

				if (a[i] < b[i]) {

					int zan = b[i] - a[i];

					ans += a[i];

					if (a[i+1] >= zan) {
						ans += zan;
						a[i+1] = a[i+1] - zan;
					// 2番目の街までしか倒せない
					} else if(a[i+1] < zan) {
						ans += a[i+1];
						a[i+1] = 0;
					}
				}
			}
		}

		System.out.println(ans);

	} main {

		Scanner sc = new Scanner(System.in);
		int n;
		n = sc.nextInt();
		int[] a = new int[n + 1];
		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 ans = 0;


		for (int i = 0; i < n; i++) {

			if (a[i] >= b[i]) {
				ans += b[i];
			} else {

				if (a[i] < b[i]) {

					int zan = b[i] - a[i];

					ans += a[i];

					if (a[i+1] >= zan) {
						ans += zan;
						a[i+1] = a[i+1] - zan;
					// 2番目の街までしか倒せない
					} else if(a[i+1] < zan) {
						ans += a[i+1];
						a[i+1] = 0;
					}
				}
			}
		}

		System.out.println(ans);

	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int n; n 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 ans = 0; ans 0 for (int i = 0; i < n; i++) {

			if (a[i] >= b[i]) {
				ans += b[i];
			} else {

				if (a[i] < b[i]) {

					int zan = b[i] - a[i];

					ans += a[i];

					if (a[i+1] >= zan) {
						ans += zan;
						a[i+1] = a[i+1] - zan;
					// 2番目の街までしか倒せない
					} else if(a[i+1] < zan) {
						ans += a[i+1];
						a[i+1] = 0;
					}
				}
			}
		} int i = 0; int i = 0; i 0 i < n i n i++ i++ i {

			if (a[i] >= b[i]) {
				ans += b[i];
			} else {

				if (a[i] < b[i]) {

					int zan = b[i] - a[i];

					ans += a[i];

					if (a[i+1] >= zan) {
						ans += zan;
						a[i+1] = a[i+1] - zan;
					// 2番目の街までしか倒せない
					} else if(a[i+1] < zan) {
						ans += a[i+1];
						a[i+1] = 0;
					}
				}
			}
		} {

			if (a[i] >= b[i]) {
				ans += b[i];
			} else {

				if (a[i] < b[i]) {

					int zan = b[i] - a[i];

					ans += a[i];

					if (a[i+1] >= zan) {
						ans += zan;
						a[i+1] = a[i+1] - zan;
					// 2番目の街までしか倒せない
					} else if(a[i+1] < zan) {
						ans += a[i+1];
						a[i+1] = 0;
					}
				}
			}
		} if (a[i] >= b[i]) {
				ans += b[i];
			} else {

				if (a[i] < b[i]) {

					int zan = b[i] - a[i];

					ans += a[i];

					if (a[i+1] >= zan) {
						ans += zan;
						a[i+1] = a[i+1] - zan;
					// 2番目の街までしか倒せない
					} else if(a[i+1] < zan) {
						ans += a[i+1];
						a[i+1] = 0;
					}
				}
			} a[i] >= b[i] a[i] a i b[i] b i {
				ans += b[i];
			} ans += b[i] ans b[i] b i {

				if (a[i] < b[i]) {

					int zan = b[i] - a[i];

					ans += a[i];

					if (a[i+1] >= zan) {
						ans += zan;
						a[i+1] = a[i+1] - zan;
					// 2番目の街までしか倒せない
					} else if(a[i+1] < zan) {
						ans += a[i+1];
						a[i+1] = 0;
					}
				}
			} if (a[i] < b[i]) {

					int zan = b[i] - a[i];

					ans += a[i];

					if (a[i+1] >= zan) {
						ans += zan;
						a[i+1] = a[i+1] - zan;
					// 2番目の街までしか倒せない
					} else if(a[i+1] < zan) {
						ans += a[i+1];
						a[i+1] = 0;
					}
				} a[i] < b[i] a[i] a i b[i] b i {

					int zan = b[i] - a[i];

					ans += a[i];

					if (a[i+1] >= zan) {
						ans += zan;
						a[i+1] = a[i+1] - zan;
					// 2番目の街までしか倒せない
					} else if(a[i+1] < zan) {
						ans += a[i+1];
						a[i+1] = 0;
					}
				} int zan = b[i] - a[i]; zan b[i] - a[i] b[i] b i a[i] a i ans += a[i] ans a[i] a i if (a[i+1] >= zan) {
						ans += zan;
						a[i+1] = a[i+1] - zan;
					// 2番目の街までしか倒せない
					} else if(a[i+1] < zan) {
						ans += a[i+1];
						a[i+1] = 0;
					} a[i+1] >= zan a[i+1] a i+1 i 1 zan {
						ans += zan;
						a[i+1] = a[i+1] - zan;
					// 2番目の街までしか倒せない
					} ans += zan ans zan a[i+1] = a[i+1] - zan a[i+1] a i+1 i 1 a[i+1] - zan a[i+1] a i+1 i 1 zan if(a[i+1] < zan) {
						ans += a[i+1];
						a[i+1] = 0;
					} a[i+1] < zan a[i+1] a i+1 i 1 zan {
						ans += a[i+1];
						a[i+1] = 0;
					} ans += a[i+1] ans a[i+1] a i+1 i 1 a[i+1] = 0 a[i+1] a i+1 i 1 0 System.out.println(ans) System.out.println System.out System System.out ans String[] args args public class Main {
	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		int n;
		n = sc.nextInt();
		int[] a = new int[n + 1];
		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 ans = 0;


		for (int i = 0; i < n; i++) {

			if (a[i] >= b[i]) {
				ans += b[i];
			} else {

				if (a[i] < b[i]) {

					int zan = b[i] - a[i];

					ans += a[i];

					if (a[i+1] >= zan) {
						ans += zan;
						a[i+1] = a[i+1] - zan;
					// 2番目の街までしか倒せない
					} else if(a[i+1] < zan) {
						ans += a[i+1];
						a[i+1] = 0;
					}
				}
			}
		}

		System.out.println(ans);

	}
} public class Main {
	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		int n;
		n = sc.nextInt();
		int[] a = new int[n + 1];
		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 ans = 0;


		for (int i = 0; i < n; i++) {

			if (a[i] >= b[i]) {
				ans += b[i];
			} else {

				if (a[i] < b[i]) {

					int zan = b[i] - a[i];

					ans += a[i];

					if (a[i+1] >= zan) {
						ans += zan;
						a[i+1] = a[i+1] - zan;
					// 2番目の街までしか倒せない
					} else if(a[i+1] < zan) {
						ans += a[i+1];
						a[i+1] = 0;
					}
				}
			}
		}

		System.out.println(ans);

	}
} Main
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		int n;
		n = sc.nextInt();
		int[] a = new int[n + 1];
		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 ans = 0;


		for (int i = 0; i < n; i++) {

			if (a[i] >= b[i]) {
				ans += b[i];
			} else {

				if (a[i] < b[i]) {

					int zan = b[i] - a[i];

					ans += a[i];

					if (a[i+1] >= zan) {
						ans += zan;
						a[i+1] = a[i+1] - zan;
					// 2番目の街までしか倒せない
					} else if(a[i+1] < zan) {
						ans += a[i+1];
						a[i+1] = 0;
					}
				}
			}
		}

		System.out.println(ans);

	}
}
