import 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];
	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 count = 0;
	int nokori = 0;
	int carry = 0;
	int teki;
	for (int i=0; i<n; i++) {
	    nokori = b[i];
	    teki = a[i] - carry;
	    if (nokori >= teki) {
		nokori -= teki;
		count += teki;
		if (nokori >= a[i+1]) {
		    carry = a[i+1];
		    count += a[i+1];
		} else {
		    carry = nokori;
		    count += nokori;
		}
	    } else {
		carry = 0;
		count += nokori;
	    }
	}
	System.out.print(count);
    }
} import java.util.*; util.* java 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];
	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 count = 0;
	int nokori = 0;
	int carry = 0;
	int teki;
	for (int i=0; i<n; i++) {
	    nokori = b[i];
	    teki = a[i] - carry;
	    if (nokori >= teki) {
		nokori -= teki;
		count += teki;
		if (nokori >= a[i+1]) {
		    carry = a[i+1];
		    count += a[i+1];
		} else {
		    carry = nokori;
		    count += nokori;
		}
	    } else {
		carry = 0;
		count += nokori;
	    }
	}
	System.out.print(count);
    }
} Main public static void main(String[] args) {
	Scanner sc = new Scanner(System.in);
	int 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 count = 0;
	int nokori = 0;
	int carry = 0;
	int teki;
	for (int i=0; i<n; i++) {
	    nokori = b[i];
	    teki = a[i] - carry;
	    if (nokori >= teki) {
		nokori -= teki;
		count += teki;
		if (nokori >= a[i+1]) {
		    carry = a[i+1];
		    count += a[i+1];
		} else {
		    carry = nokori;
		    count += nokori;
		}
	    } else {
		carry = 0;
		count += nokori;
	    }
	}
	System.out.print(count);
    } main {
	Scanner sc = new Scanner(System.in);
	int 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 count = 0;
	int nokori = 0;
	int carry = 0;
	int teki;
	for (int i=0; i<n; i++) {
	    nokori = b[i];
	    teki = a[i] - carry;
	    if (nokori >= teki) {
		nokori -= teki;
		count += teki;
		if (nokori >= a[i+1]) {
		    carry = a[i+1];
		    count += a[i+1];
		} else {
		    carry = nokori;
		    count += nokori;
		}
	    } else {
		carry = 0;
		count += nokori;
	    }
	}
	System.out.print(count);
    } 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] 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] b i sc.nextInt() sc.nextInt sc long count = 0; count 0 int nokori = 0; nokori 0 int carry = 0; carry 0 int teki; teki for (int i=0; i<n; i++) {
	    nokori = b[i];
	    teki = a[i] - carry;
	    if (nokori >= teki) {
		nokori -= teki;
		count += teki;
		if (nokori >= a[i+1]) {
		    carry = a[i+1];
		    count += a[i+1];
		} else {
		    carry = nokori;
		    count += nokori;
		}
	    } else {
		carry = 0;
		count += nokori;
	    }
	} int i=0; int i=0; i 0 i<n i n i++ i++ i {
	    nokori = b[i];
	    teki = a[i] - carry;
	    if (nokori >= teki) {
		nokori -= teki;
		count += teki;
		if (nokori >= a[i+1]) {
		    carry = a[i+1];
		    count += a[i+1];
		} else {
		    carry = nokori;
		    count += nokori;
		}
	    } else {
		carry = 0;
		count += nokori;
	    }
	} {
	    nokori = b[i];
	    teki = a[i] - carry;
	    if (nokori >= teki) {
		nokori -= teki;
		count += teki;
		if (nokori >= a[i+1]) {
		    carry = a[i+1];
		    count += a[i+1];
		} else {
		    carry = nokori;
		    count += nokori;
		}
	    } else {
		carry = 0;
		count += nokori;
	    }
	} nokori = b[i] nokori b[i] b i teki = a[i] - carry teki a[i] - carry a[i] a i carry if (nokori >= teki) {
		nokori -= teki;
		count += teki;
		if (nokori >= a[i+1]) {
		    carry = a[i+1];
		    count += a[i+1];
		} else {
		    carry = nokori;
		    count += nokori;
		}
	    } else {
		carry = 0;
		count += nokori;
	    } nokori >= teki nokori teki {
		nokori -= teki;
		count += teki;
		if (nokori >= a[i+1]) {
		    carry = a[i+1];
		    count += a[i+1];
		} else {
		    carry = nokori;
		    count += nokori;
		}
	    } nokori -= teki nokori teki count += teki count teki if (nokori >= a[i+1]) {
		    carry = a[i+1];
		    count += a[i+1];
		} else {
		    carry = nokori;
		    count += nokori;
		} nokori >= a[i+1] nokori a[i+1] a i+1 i 1 {
		    carry = a[i+1];
		    count += a[i+1];
		} carry = a[i+1] carry a[i+1] a i+1 i 1 count += a[i+1] count a[i+1] a i+1 i 1 {
		    carry = nokori;
		    count += nokori;
		} carry = nokori carry nokori count += nokori count nokori {
		carry = 0;
		count += nokori;
	    } carry = 0 carry 0 count += nokori count nokori System.out.print(count) System.out.print System.out System System.out count 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];
	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 count = 0;
	int nokori = 0;
	int carry = 0;
	int teki;
	for (int i=0; i<n; i++) {
	    nokori = b[i];
	    teki = a[i] - carry;
	    if (nokori >= teki) {
		nokori -= teki;
		count += teki;
		if (nokori >= a[i+1]) {
		    carry = a[i+1];
		    count += a[i+1];
		} else {
		    carry = nokori;
		    count += nokori;
		}
	    } else {
		carry = 0;
		count += nokori;
	    }
	}
	System.out.print(count);
    }
} 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];
	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 count = 0;
	int nokori = 0;
	int carry = 0;
	int teki;
	for (int i=0; i<n; i++) {
	    nokori = b[i];
	    teki = a[i] - carry;
	    if (nokori >= teki) {
		nokori -= teki;
		count += teki;
		if (nokori >= a[i+1]) {
		    carry = a[i+1];
		    count += a[i+1];
		} else {
		    carry = nokori;
		    count += nokori;
		}
	    } else {
		carry = 0;
		count += nokori;
	    }
	}
	System.out.print(count);
    }
} Main
import 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];
	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 count = 0;
	int nokori = 0;
	int carry = 0;
	int teki;
	for (int i=0; i<n; i++) {
	    nokori = b[i];
	    teki = a[i] - carry;
	    if (nokori >= teki) {
		nokori -= teki;
		count += teki;
		if (nokori >= a[i+1]) {
		    carry = a[i+1];
		    count += a[i+1];
		} else {
		    carry = nokori;
		    count += nokori;
		}
	    } else {
		carry = 0;
		count += nokori;
	    }
	}
	System.out.print(count);
    }
}
