由於在維護世界和平的事務中做出巨大貢獻,蒜頭君被贈予糖果公司若干無限量糖果免費優惠券。蒜頭君可以從糖果公司的 nn 件產品中任意選擇若干件帶回家享用。糖果公司的 nn 件產品每件都包含數量不同的糖果。蒜頭君希望他選擇的產品包含的糖果總數是 kk 的整數倍,這樣他才能平均地將糖果分給幫助他維護世界和平的夥伴們。當然,在滿足這一條件的基礎上,糖果總數越多越好。蒜頭君最多能帶走多少糖果呢?
注意:蒜頭君只能將糖果公司的產品整件帶走。
輸入格式
第一行包含兩個整數 n(1 \le n \le 100)n(1≤n≤100) 和 k(1 \le k \le 100)k(1≤k≤100);
以下 nn 行每行 11 個整數,表示糖果公司該件產品中包含的糖果數目,不超過 10000001000000。
輸出格式
符合要求的最多能達到的糖果總數,如果不能達到 kk 的倍數這一要求,輸出 00。
樣例解釋
蒜頭君的選擇是 2+3+4+5=142+3+4+5=14,這樣糖果總數是 77 的倍數,並且是總數最多的選擇。
輸出時每行末尾的多餘空格,不影響答案正確性
樣例輸入複製
5 712樣例輸出複製345
14
#include #include#include#include#includeusing namespace std;
int n,k;
int dp[105][105],a[105];
//dp[i][j]表示前i個數餘數為j的最大值,題目所求是dp[n][0],前n個數,餘數為0的最大值
int main()
for(int i=1;i<=n;i++)
}cout
}
動態規劃 吃糖果
每天可以吃一塊或者兩塊糖果,給出n塊糖果,問可以有幾種吃法。根據題意,當吃到第n塊糖的時候,可以是吃1塊吃到第n塊,也可以吃2塊。所以當吃到第n塊的時候,他的方法數是吃n 1和n 2塊糖的方法數之和。因此。狀態 a n 是吃第n塊糖的時候的方法數。子問題 第n塊糖,最後是那種方法吃到的。有兩種。狀態...
動態規劃 吃糖果
描述 名名的媽媽從外地出差回來,帶了一盒好吃又精美的巧克力給名名 盒內共有 n 塊巧克力,20 n 0 媽媽告訴名名每天可以吃一塊或者兩塊巧克力。假設名名每天都吃巧克力,問名名共有多少種不同的吃完巧克力的方案。例如 如果n 1,則名名第1天就吃掉它,共有1種方案 如果n 2,則名名可以第1天吃1塊,...
動態規劃練習 吃糖果
題目要求 一盒巧克力給名名 盒內共有 n 塊巧克力,20 n 0 名名每天可以吃一塊或者兩塊巧克力。假設名名每天都吃巧克力,問名名共有多少種不同的吃完巧克力的方案。例如 如果n 1,則名名第1天就吃掉它,共有1種方案 如果n 2,則名名可以第1天吃1塊,第2天吃1塊,也可以第1天吃2塊,共有2種方案...