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/7.cpp | 54 -------------------------------------------- 1 file changed, 54 deletions(-) delete mode 100644 works/solutions/acwing/7.cpp (limited to 'works/solutions/acwing/7.cpp') diff --git a/works/solutions/acwing/7.cpp b/works/solutions/acwing/7.cpp deleted file mode 100644 index fcc0fb1..0000000 --- a/works/solutions/acwing/7.cpp +++ /dev/null @@ -1,54 +0,0 @@ -#include -#include - -int N, V; -int v[1001]; -int w[1001]; -int s[1001]; -int states[1001]; - -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); - } -} - -void MultiplePack(int v, int w, int s) { - int k = 1; - - while (k < s) { - ZeroOnePack(k * v, k * w); - s -= k; - k *= 2; - } - - ZeroOnePack(s * v, s * 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 (s[i] < 0) { - ZeroOnePack(v[i], w[i]); - } else if (s[i] == 0) { - CompletePack(v[i], w[i]); - } else { - MultiplePack(v[i], w[i], s[i]); - } - } - - std::cout << states[V]; - - return 0; -} -- cgit v1.2.3