Submission #776955

# Submission time Handle Problem Language Result Execution time Memory
776955 2023-07-08T12:21:45 Z qenneth Knapsack (NOI18_knapsack) C++17
73 / 100
276 ms 262144 KB
#pragma GCC optimize("O3")
#pragma GCC target("popcnt")
#include <bits/stdc++.h>
using namespace std;
#define FASTIO ios_base::sync_with_stdio(false);cin.tie(NULL)
#define all(x) x.begin(), x.end()
#define chmax(x, a) x = max(x, a);
#define chmin(x, a) x = min(x, a);

// usaco
void setIO(string s) {
	freopen((s + ".in").c_str(), "r", stdin);
	freopen((s + ".out").c_str(), "w", stdout);
}

const int MOD = 1e9 + 7;

int main() {
	FASTIO;
	// setIO("snakes");
	int s, n;
	cin >> s >> n;
	vector<vector<int>> a(n, vector<int>(3, 0));
	for (int i = 0; i < n; i++) {
		for (int j = 0; j < 3; j++) {
			cin >> a[i][j];
		}
	}
	vector<vector<int>> dp(n + 1, vector<int> (s + 1));
	for (int i = 0; i < n; i++) {
		for (int j = 0; j <= s; j++) {
			// if (dp[i][j] == -1) continue;
			dp[i + 1][j] = max(dp[i + 1][j], dp[i][j]);
			for (int k = 0; k <= min(s, a[i][2]); k++) {
				if (j + k * a[i][1] <= s) {
					dp[i + 1][j + k * a[i][1]] = max(dp[i + 1][j + k * a[i][1]], dp[i][j] + k * a[i][0]);
				}
			}
		}
	}
	cout << dp[n][s] << "\n";
}

Compilation message

knapsack.cpp: In function 'void setIO(std::string)':
knapsack.cpp:12:9: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   12 |  freopen((s + ".in").c_str(), "r", stdin);
      |  ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
knapsack.cpp:13:9: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   13 |  freopen((s + ".out").c_str(), "w", stdout);
      |  ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 2 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 2 ms 1108 KB Output is correct
3 Correct 2 ms 980 KB Output is correct
4 Correct 1 ms 1108 KB Output is correct
5 Correct 1 ms 980 KB Output is correct
6 Correct 2 ms 980 KB Output is correct
7 Correct 1 ms 1108 KB Output is correct
8 Correct 1 ms 980 KB Output is correct
9 Correct 2 ms 980 KB Output is correct
10 Correct 1 ms 1108 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 2 ms 1108 KB Output is correct
3 Correct 2 ms 980 KB Output is correct
4 Correct 1 ms 1108 KB Output is correct
5 Correct 1 ms 980 KB Output is correct
6 Correct 2 ms 980 KB Output is correct
7 Correct 1 ms 1108 KB Output is correct
8 Correct 1 ms 980 KB Output is correct
9 Correct 2 ms 980 KB Output is correct
10 Correct 1 ms 1108 KB Output is correct
11 Correct 0 ms 212 KB Output is correct
12 Correct 5 ms 980 KB Output is correct
13 Correct 2 ms 980 KB Output is correct
14 Correct 1 ms 1108 KB Output is correct
15 Correct 3 ms 1108 KB Output is correct
16 Correct 3 ms 1108 KB Output is correct
17 Correct 1 ms 980 KB Output is correct
18 Correct 2 ms 980 KB Output is correct
19 Correct 2 ms 980 KB Output is correct
20 Correct 3 ms 1108 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 2 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 2 ms 1108 KB Output is correct
7 Correct 2 ms 980 KB Output is correct
8 Correct 1 ms 1108 KB Output is correct
9 Correct 1 ms 980 KB Output is correct
10 Correct 2 ms 980 KB Output is correct
11 Correct 1 ms 1108 KB Output is correct
12 Correct 1 ms 980 KB Output is correct
13 Correct 2 ms 980 KB Output is correct
14 Correct 1 ms 1108 KB Output is correct
15 Correct 0 ms 212 KB Output is correct
16 Correct 5 ms 980 KB Output is correct
17 Correct 2 ms 980 KB Output is correct
18 Correct 1 ms 1108 KB Output is correct
19 Correct 3 ms 1108 KB Output is correct
20 Correct 3 ms 1108 KB Output is correct
21 Correct 1 ms 980 KB Output is correct
22 Correct 2 ms 980 KB Output is correct
23 Correct 2 ms 980 KB Output is correct
24 Correct 3 ms 1108 KB Output is correct
25 Correct 1 ms 212 KB Output is correct
26 Correct 276 ms 1228 KB Output is correct
27 Correct 2 ms 980 KB Output is correct
28 Correct 1 ms 1108 KB Output is correct
29 Correct 256 ms 1108 KB Output is correct
30 Correct 255 ms 1112 KB Output is correct
31 Correct 2 ms 1108 KB Output is correct
32 Correct 2 ms 1108 KB Output is correct
33 Correct 2 ms 1108 KB Output is correct
34 Correct 2 ms 1084 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 2 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 2 ms 1108 KB Output is correct
7 Correct 2 ms 980 KB Output is correct
8 Correct 1 ms 1108 KB Output is correct
9 Correct 1 ms 980 KB Output is correct
10 Correct 2 ms 980 KB Output is correct
11 Correct 1 ms 1108 KB Output is correct
12 Correct 1 ms 980 KB Output is correct
13 Correct 2 ms 980 KB Output is correct
14 Correct 1 ms 1108 KB Output is correct
15 Correct 0 ms 212 KB Output is correct
16 Correct 5 ms 980 KB Output is correct
17 Correct 2 ms 980 KB Output is correct
18 Correct 1 ms 1108 KB Output is correct
19 Correct 3 ms 1108 KB Output is correct
20 Correct 3 ms 1108 KB Output is correct
21 Correct 1 ms 980 KB Output is correct
22 Correct 2 ms 980 KB Output is correct
23 Correct 2 ms 980 KB Output is correct
24 Correct 3 ms 1108 KB Output is correct
25 Correct 1 ms 212 KB Output is correct
26 Correct 276 ms 1228 KB Output is correct
27 Correct 2 ms 980 KB Output is correct
28 Correct 1 ms 1108 KB Output is correct
29 Correct 256 ms 1108 KB Output is correct
30 Correct 255 ms 1112 KB Output is correct
31 Correct 2 ms 1108 KB Output is correct
32 Correct 2 ms 1108 KB Output is correct
33 Correct 2 ms 1108 KB Output is correct
34 Correct 2 ms 1084 KB Output is correct
35 Correct 23 ms 12324 KB Output is correct
36 Runtime error 102 ms 262144 KB Execution killed with signal 9
37 Halted 0 ms 0 KB -