BZOJ-2748: [HAOI2012]音量调节(DP)

作者: AmadeusChan | 来源:发表于2019-02-16 20:10 被阅读0次

    题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2748

    额。。。裸裸的DP,直接推一次就好了额。。。

    代码:

    #include <cstdio>
    #include <algorithm>
    #include <cstring>
     
    using namespace std ;
     
    const int maxn = 51 , maxl = 1010 ;
     
    bool f[ maxn ][ maxl ] ;
    int n , bl , ml , c[ maxn ] ;
     
    int main(  ) {
        scanf( "%d%d%d" , &n , &bl , &ml ) ;
        for ( int i = 0 ; i ++ < n ; ) scanf( "%d" , c + i ) ;
        memset( f , false , sizeof( f ) ) ;
        f[ 0 ][ bl ] = true ;
        for ( int i = 0 ; i ++ < n ; ) {
            for ( int j = 0 ; j <= ml ; ++ j ) if ( f[ i - 1 ][ j ] ) {
                if ( j - c[ i ] >= 0 ) f[ i ][ j - c[ i ] ] = true ;
                if ( j + c[ i ] <= ml ) f[ i ][ j + c[ i ] ] = true ;
            }
        }
        for ( int i = ml ; i >= 0 ; -- i ) if ( f[ n ][ i ] ) {
            printf( "%d\n" , i ) ;
            return 0 ; 
        }
        printf( "-1\n" ) ;
        return 0 ; 
    }
    
    

    相关文章

      网友评论

        本文标题:BZOJ-2748: [HAOI2012]音量调节(DP)

        本文链接:https://www.haomeiwen.com/subject/wrvieqtx.html