/*

????????? ????????±???????????????????????? ???????????????
???????????????????????????????????±???????±???§???????´°???????????????????????±??????????????°????¨????
??????????????????????????????????????±?????????????????§??????????£?????????°??????????????????????????\
????£?????????°??????????????????????????±???????????¨?????°???????????????
???????????§???????????§?????£????????£???????????±?????????????????????????£???????????????????????????????
????????¨???????????????????????????????????\????????????????????????????????????????????????????????£???
????????±????????¨?????£??????????£???????????????§??????????????????????£????????????¨?????§????????????
????????????????????±???????????????????????°??\????£??????????????????¨??¨?????£????????????????????????
?????????????????§??????
????????±???????????????????????°?????????????£?????????¨???????????£?????????????????§??????????????????
?£???????????????????????????????????????§?????????????????????????????????????????§?????????????????±???
???????£????????????°????????????????°?????????????????????????????????????????????¨?????????????????? 

??????
???????????????????????±??????????????°??¨????????????????????§???????????\????£??????????????????°??????
????????????????????±???????????¨??????????????????????????¨????????????????????????????????§????????????
??±??????????£????????????°?????????????????????????????°??§????????????????????????????°????????¨???????
???????????°????????????????????????

??\???


??\???????????°??????????????????????????????????????\??????????????????????????????????????§???????????????
??????????????????????????\????????¢?????§??????????????????

N
p1 p2 ??? pN 

????????????????????±??????????????° N(3???N???5000)????????????????????????????????????????????±???
???????????????????????§?????????????£????????????° pi(0???pi???3)?????????????????????
???????????????????????°??? 100 ????¶?????????????

??????
??????????????????????????§??????????????±??????????£????????????°????????????????°??????????????????????
?????????

*/

#include <stdio.h>

int main( void )
{
	int n;			// ????????±??????????????° N(3???N???5000)
	int d[ 5000 ];	// ?????????????????§?????????????£????????????° pi(0???pi???3)
	int w[ 5000 ];	// 
	int i;
	int cnt0 = 0;	// ??????????????\??????????????´???
	int cnt1 = 0;	// ????????? 1???????????§?£?????????´???

	while ( 1 ) {
		scanf( "%d", &n );

		if ( n == 0 ) {
			break;			// ??\???????????????
		}

		for ( i = 0 ; i < n ; i++ ) {
			scanf( "%d", &d[ i ] );
		}

		/*
		 * ??????????????????????????°?£????????????????
		 */
		for ( i = 0 ; i < n ; i++ ) {
			// ????\???¨????????° w ??? d ??????????????????
			w[ i ] = d[ i ];
		}

		cnt0 = 0;
		if ( w[ 0 ] > w[ 1 ] ) {
			cnt0 += w[ 0 ] + w[ 1 ];
			w[ 1 ] = 0;				
		}
		else {
			cnt0 += ( w[ 0 ] * 2 );
			w[ 1 ] -= w[ 0 ];
		}

		for ( i = 1 ; i < n - 1 ; i++ ) {
			cnt0 += ( w[ i ] * 2 );
			if ( w[ i ] > w[ i + 1 ] ) {
				w[ i + 1 ] = 0;
			}
			else {
				w[ i + 1 ] -= w[ i ];
			}
//			w[ i ] = 0;
		}

		if ( w[ n - 1 ] != 0 ) {
			cnt0 += w[ n - 1 ];
		}

		/*
		 * ????????? 1??????????£???????
		 */
		for ( i = 0 ; i < n ; i++ ) {
			// ????\???¨????????° w ??? d ??????????????????
			w[ i ] = d[ i ];
		}

		cnt1 = w[ 0 ];
		for ( i = 1 ; i < n - 1 ; i++ ) {
			cnt1 += ( w[ i ] * 2 );
			if ( w[ i ] > w[ i + 1 ] ) {
				w[ i + 1 ] = 0;
			}
			else {
				w[ i + 1 ] -= w[ i ];
			}
//			w[ i ] = 0;
		}

		if ( w[ n - 1 ] != 0 ) {
			cnt1 += w[ n - 1 ];
		}

		// ???????????¨???
//		printf( "%d, %d\n", cnt0, cnt1 );

		if ( cnt0 < cnt1 ) {
			printf( "%d\n", cnt0 );
		}
		else {
			printf( "%d\n", cnt1 );
		}

		break;
	}

	return 0;
}

Measured memory_bytes: 640