http://codeforces.com/contest/355/problem/C
// File Name: cf_c.cpp // Author: bo_jwolf // Created Time: 2013年10月14日 星期一 20:30:22 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; const int maxn = 100005; int sum[ maxn ], temp; int main(){ int n, l, r, ql, qr, ans = 0; scanf( "%d%d%d%d%d", &n, &l, &r, &ql, &qr ); for( int i = 1; i <= n; ++i ){ scanf( "%d", &temp ), sum[ i ] = sum[ i - 1 ] + temp ; } int Min = 1000000000; for( int i = 0; i <= n; ++i ){ ans = l * sum[ i ] + ( sum[ n ] - sum[ i ] ) * r; if( i < n - i ){ ans += qr * ( n - 2 * i - 1 ); } else if( i == n - i ) ; else{ ans += ql * ( 2 * i - n - 1 ); } if( Min > ans ) Min = ans; } printf( "%d\n", Min ); return 0; }