UVAの歌

溶液

それも、時間を残しているので、それは初めてマイナス1 01バックパックは、この考えることは容易である、プラス曲678秒後に、細部への他のうまく注意。

コード

#include <ビット/ STDC ++ H>
 使用して 名前空間STDを、
int型 [W N、T、100005 ]、[ 100005 [F]、100005 ]。
INT メイン(){ 
    freopenは(" a.in "" R " 、STDIN)。
    INT T、CNT = 0 
    scanf関数(" %のD "、&T)。
    一方、(T-- ){ 
        scanf関数(" %d個の%のD "、&​​N、&T)。
        - トン; 
        フィル(F、F + T + 10 ); //は+1以下に覚えF [T]がクリアされ
        (A、A塗りつぶし + T + 10 );
         のためのint型私は= 1 I <= N; Iは++ 
         scanfの(" %のD "、&W [I]);
         のためのINT I = 1 ; I <= N; I ++ のためのINT J = T; J> = W [I]; J、 IF(F [J] <F [ JW [I] + 。1 
           F [J] = F [JW [I] + 。1、A] + [J]は[JW [I =] Wを[I]; //全長を作るも、最もため長い
           
           IF(F [J] == F [JW [I] + 。1 && A [J] <[JW [I] + W [I])//全長記録しながら
            A [j]を [JWを[=私は]] + W [I]; 
        のprintf(" :ケース%のD D%D%\ N- "、CNT ++、F [T] + 1。、A [T] + 678 ; //は最終的に+ 1再) 678 
    } 
}

 

おすすめ

転載: www.cnblogs.com/coder-cjh/p/11409879.html