題目描述
給一組 n 枚郵票的面值集合和乙個上限 k —— 表示信封上能夠貼 k 張郵票。
請求出最大的正整數 m,滿足 1 到 m 的面值都可以用不超過 k 張郵票表示出來。
輸入格式
輸入的第一行是兩個整數,分別代表郵票上限 k 和郵票面值數 n。
自第二行起,共有 n 個整數,第 i 個整數代表第 i 種郵票的面值 ai。
輸出格式
輸出一行乙個整數代表 m,若 m 不存在請輸出 0。
輸入樣例
5 21 3
輸出樣例13
樣例解釋
有 1 分和 3 分的郵票;你最多可以貼 5 張郵票。很容易貼出 1 到 5 分的郵資(用 1 分郵票貼就行了),接下來的郵資也不難:
然而,使用 5 枚 1 分或者 3 分的郵票根本不可能貼出 14 分的郵資。因此,答案為 13。
資料範圍
對於 100% 的資料,保證 1 ≤ k ≤ 200,1 ≤ n ≤ 50,1 ≤ ai ≤ 104 。
題解
完全揹包(優化2.0):
#include
#include
#include
using
namespace std;
const
int n =
55, m =
200*
1e4+10;
int n, k;
int w[n]
, f[m]
;int
main()
}
洛谷 P2725 郵票 Stamps
判斷從1開始的能湊出的連續的郵票價值 1 n 會給出兩個數k和n,k是可用的郵票總數。n是郵票面值的數量。接下去的n行是每種郵票的價值 注意 每種郵票是可以多次使用完全揹包模型,用一維即可,如果用二維會記憶體超限,記錄的是湊足i的價值至少要多少郵票,如果大於k,輸出i 1,跳出循換,如果沒有跳出,輸...
洛谷 P2725 郵票 Stamps(dp)
給一組 n 枚郵票的面值集合 如,和乙個上限 k 表示信封上能夠貼 k 張郵票。計算從 1 到 m 的最大連續可貼出的郵資。例如,假設有 1 分和 3 分的郵票 你最多可以貼 5 張郵票。很容易貼出 1 到 5 分的郵資 用 1 分郵票貼就行了 接下來的郵資也不難 6 3 3 7 3 3 1 8 3...
洛谷1021 郵票面值設計
給定乙個信封,最多隻允許貼上n張郵票,計算在給定k n k 40 種郵票的情況下 假定所有的郵票數量都足夠 如何設計郵票的面值,能得到最大值max,使在1 max之間的每乙個郵資值都能得到。例如,n 3,k 2,如果面值分別為1分 4分,則在1分 6分之間的每乙個郵資值都能得到 當然還有8分 9分和...