郵票 Stamps(洛谷)

2021-10-25 06:41:19 字數 934 閱讀 3836

題目描述

給一組 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分和...