#include #include int max; int manpuku( int *s, int num, int N ); int main() { int N; int s[1000]; scanf( "%d\n", &N ); for( int i = 0; i < N -1; i++ ) { scanf( "%d ", s + i ); } scanf( "%d\n", s + N -1 ); printf("%d\n", manpuku( s, 0, N ) ); return 0; } int manpuku( int *s, int num, int N ) { int tmp1, tmp2, tmp3, tmp4; int a, b; tmp1 = tmp2 = tmp3 = tmp4 = a = b = 0; if( num >= N ) { return 0; } tmp1 = s[num] + manpuku( s, num+2, N ); tmp2 = s[num] + manpuku( s, num+3, N ); tmp3 = manpuku( s, num+1, N ); tmp4 = manpuku( s, num+2, N ); a = tmp1 < tmp2 ? tmp2 : tmp1; b = tmp3 < tmp4 ? tmp4 : tmp3; return a < b ? b : a; }