Submission #950423

# Submission time Handle Problem Language Result Execution time Memory
950423 2024-03-20T09:42:33 Z Kakarot Knapsack (NOI18_knapsack) C++
73 / 100
159 ms 262144 KB
#include <bits/stdc++.h>
#define int int64_t
using namespace std;

void setIO() {
	cin.tie(0)->sync_with_stdio(0);
}

void setIJ() {
	#ifdef ONLINEJUDGE
    	clock_t tStart = clock();
    	freopen("input.txt","r",stdin); //can need to change file . this one for taking input
    	freopen("output.txt","w",stdout); // this one for output
    #endif
}

void setOJ() {
    #ifdef ONLINEJUDGE
        fprintf(stderr, "\n>> Runtime: %.10fs\n", (double) (clock() - tStart) / CLOCKS_PER_SEC); // this line gives your code runtime
    #endif
}

struct item { int value; int weight; int copies; };

void solve() {
	//cout << "zco";
	int s, n;
	cin >> s >> n;
	vector<item> items(n);
	for(auto &x : items) cin >> x.value >> x.weight >> x.copies;
	vector<vector<int>> dp(n+1, vector<int>(s+1));
	//dp[i][j] = max value that can be obtained from first i items upto weight j
	//dp[i][j] = dp[i-1][j-0*items[i].weight] + dp[i-1][j-1*items[i].weight] + dp[i-1][j-2*items[i].weight] + dp[i-1][j-items[i].copies*items[i].weight]
	for(int i = 1; i <= n; i++) {
		for(int j = 1; j <= s; j++) {
			for(int k = 0; k <= items[i-1].copies && k*items[i-1].weight <= j; k++) {
				dp[i][j] = max(dp[i][j], k*items[i-1].value + dp[i-1][j-k*items[i-1].weight]);
			}
		}
	}
	cout << dp[n][s] << '\n';
}

int32_t main() {
	setIO();
	setIJ();
	solve();
	setOJ();
	return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Correct 1 ms 344 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 504 KB Output is correct
2 Correct 2 ms 1884 KB Output is correct
3 Correct 2 ms 1988 KB Output is correct
4 Correct 2 ms 1880 KB Output is correct
5 Correct 1 ms 1884 KB Output is correct
6 Correct 1 ms 1884 KB Output is correct
7 Correct 2 ms 1884 KB Output is correct
8 Correct 1 ms 1884 KB Output is correct
9 Correct 1 ms 1884 KB Output is correct
10 Correct 1 ms 1884 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 504 KB Output is correct
2 Correct 2 ms 1884 KB Output is correct
3 Correct 2 ms 1988 KB Output is correct
4 Correct 2 ms 1880 KB Output is correct
5 Correct 1 ms 1884 KB Output is correct
6 Correct 1 ms 1884 KB Output is correct
7 Correct 2 ms 1884 KB Output is correct
8 Correct 1 ms 1884 KB Output is correct
9 Correct 1 ms 1884 KB Output is correct
10 Correct 1 ms 1884 KB Output is correct
11 Correct 0 ms 348 KB Output is correct
12 Correct 4 ms 1892 KB Output is correct
13 Correct 1 ms 1884 KB Output is correct
14 Correct 1 ms 1884 KB Output is correct
15 Correct 1 ms 1884 KB Output is correct
16 Correct 2 ms 1880 KB Output is correct
17 Correct 2 ms 1880 KB Output is correct
18 Correct 1 ms 1884 KB Output is correct
19 Correct 2 ms 1884 KB Output is correct
20 Correct 2 ms 1884 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Correct 1 ms 344 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 1 ms 504 KB Output is correct
6 Correct 2 ms 1884 KB Output is correct
7 Correct 2 ms 1988 KB Output is correct
8 Correct 2 ms 1880 KB Output is correct
9 Correct 1 ms 1884 KB Output is correct
10 Correct 1 ms 1884 KB Output is correct
11 Correct 2 ms 1884 KB Output is correct
12 Correct 1 ms 1884 KB Output is correct
13 Correct 1 ms 1884 KB Output is correct
14 Correct 1 ms 1884 KB Output is correct
15 Correct 0 ms 348 KB Output is correct
16 Correct 4 ms 1892 KB Output is correct
17 Correct 1 ms 1884 KB Output is correct
18 Correct 1 ms 1884 KB Output is correct
19 Correct 1 ms 1884 KB Output is correct
20 Correct 2 ms 1880 KB Output is correct
21 Correct 2 ms 1880 KB Output is correct
22 Correct 1 ms 1884 KB Output is correct
23 Correct 2 ms 1884 KB Output is correct
24 Correct 2 ms 1884 KB Output is correct
25 Correct 0 ms 344 KB Output is correct
26 Correct 159 ms 2036 KB Output is correct
27 Correct 2 ms 1884 KB Output is correct
28 Correct 1 ms 1884 KB Output is correct
29 Correct 2 ms 1888 KB Output is correct
30 Correct 2 ms 1884 KB Output is correct
31 Correct 2 ms 1888 KB Output is correct
32 Correct 1 ms 2140 KB Output is correct
33 Correct 2 ms 1880 KB Output is correct
34 Correct 2 ms 1888 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Correct 1 ms 344 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 1 ms 504 KB Output is correct
6 Correct 2 ms 1884 KB Output is correct
7 Correct 2 ms 1988 KB Output is correct
8 Correct 2 ms 1880 KB Output is correct
9 Correct 1 ms 1884 KB Output is correct
10 Correct 1 ms 1884 KB Output is correct
11 Correct 2 ms 1884 KB Output is correct
12 Correct 1 ms 1884 KB Output is correct
13 Correct 1 ms 1884 KB Output is correct
14 Correct 1 ms 1884 KB Output is correct
15 Correct 0 ms 348 KB Output is correct
16 Correct 4 ms 1892 KB Output is correct
17 Correct 1 ms 1884 KB Output is correct
18 Correct 1 ms 1884 KB Output is correct
19 Correct 1 ms 1884 KB Output is correct
20 Correct 2 ms 1880 KB Output is correct
21 Correct 2 ms 1880 KB Output is correct
22 Correct 1 ms 1884 KB Output is correct
23 Correct 2 ms 1884 KB Output is correct
24 Correct 2 ms 1884 KB Output is correct
25 Correct 0 ms 344 KB Output is correct
26 Correct 159 ms 2036 KB Output is correct
27 Correct 2 ms 1884 KB Output is correct
28 Correct 1 ms 1884 KB Output is correct
29 Correct 2 ms 1888 KB Output is correct
30 Correct 2 ms 1884 KB Output is correct
31 Correct 2 ms 1888 KB Output is correct
32 Correct 1 ms 2140 KB Output is correct
33 Correct 2 ms 1880 KB Output is correct
34 Correct 2 ms 1888 KB Output is correct
35 Correct 20 ms 9312 KB Output is correct
36 Runtime error 129 ms 262144 KB Execution killed with signal 9
37 Halted 0 ms 0 KB -