From dc1f0c4c0096013799416664894c5194dc7e1f52 Mon Sep 17 00:00:00 2001 From: Yuqian Yang Date: Fri, 28 Feb 2025 23:13:39 +0800 Subject: chore(store): move everything to store. --- works/solutions/acwing/4.cpp | 51 -------------------------------------------- 1 file changed, 51 deletions(-) delete mode 100644 works/solutions/acwing/4.cpp (limited to 'works/solutions/acwing/4.cpp') diff --git a/works/solutions/acwing/4.cpp b/works/solutions/acwing/4.cpp deleted file mode 100644 index 3270402..0000000 --- a/works/solutions/acwing/4.cpp +++ /dev/null @@ -1,51 +0,0 @@ -#include -#include - -int N, V; -int v[101]; -int w[101]; -int s[101]; -int states[101]; - -void CompletePack(int v, int w) { - for (int j = v; j <= V; j++) { - states[j] = std::max(states[j], states[j - v] + w); - } -} - -void ZeroOnePack(int v, int w) { - for (int j = V; j >= v; j--) { - states[j] = std::max(states[j], states[j - v] + w); - } -} - -int main() { - std::cin >> N >> V; - - for (int i = 1; i <= N; i++) { - std::cin >> v[i] >> w[i] >> s[i]; - } - - for (int i = 1; i <= N; i++) { - if (v[i] * s[i] >= V) { - CompletePack(v[i], w[i]); - } else { - int k = 1; - int amount = s[i]; - - while (k < amount) { - ZeroOnePack(k * v[i], k * w[i]); - amount -= k; - k *= 2; - } - - if (amount != 0) { - ZeroOnePack(amount * v[i], amount * w[i]); - } - } - } - - std::cout << states[V]; - - return 0; -} -- cgit v1.2.3