#include <bits/stdc++.h>
using namespace std;
const long long inf = 1e18;
signed main() {
std::ios::sync_with_stdio(0);
std::cout.tie(0);
std::cin.tie(0);
#ifdef saarang
freopen("/home/saarang/Documents/cp/input.txt", "r", stdin);
freopen("/home/saarang/Documents/cp/output.txt", "w", stdout);
#endif
int sum = 0;
vector<array<int, 3>> cost;
for(int _ = 0; _ < 2; _++) {
int n; cin >> n;
for(int i = 0; i < n; i++) {
int c, f, v;
cin >> c >> f >> v;
if(_ == 0) v *= -1, sum += c;
else c *= -1;
cost.push_back({f, c, v});
}
}
sort(cost.begin(), cost.end());
reverse(cost.begin(), cost.end());
long long dp[2][sum + 2];
for(int i = 0; i <= sum; i++) dp[0][i] = -inf;
dp[0][0] = 0;
for(auto &[freq, core, value] : cost) {
for(int i = 0; i <= sum; i++) dp[1][i] = dp[0][i];
for(int i = 0; i <= sum; i++) {
int total = i + core;
long long profit = dp[0][i] + value;
if(total >= 0 && total <= sum)
dp[1][total] = max(dp[1][total], profit);
}
for(int i = 0; i <= sum; i++) dp[0][i] = dp[1][i];
}
cout << *max_element(dp[0], dp[0] + sum) << '\n';
return 0;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
364 KB |
Output is correct |
2 |
Correct |
0 ms |
364 KB |
Output is correct |
3 |
Correct |
1 ms |
364 KB |
Output is correct |
4 |
Correct |
1 ms |
364 KB |
Output is correct |
5 |
Correct |
3 ms |
364 KB |
Output is correct |
6 |
Correct |
1 ms |
364 KB |
Output is correct |
7 |
Correct |
5 ms |
364 KB |
Output is correct |
8 |
Correct |
5 ms |
512 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
364 KB |
Output is correct |
2 |
Correct |
1 ms |
364 KB |
Output is correct |
3 |
Correct |
1 ms |
364 KB |
Output is correct |
4 |
Correct |
1 ms |
364 KB |
Output is correct |
5 |
Correct |
64 ms |
784 KB |
Output is correct |
6 |
Correct |
4 ms |
364 KB |
Output is correct |
7 |
Correct |
297 ms |
1260 KB |
Output is correct |
8 |
Correct |
57 ms |
632 KB |
Output is correct |
9 |
Correct |
501 ms |
1900 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
364 KB |
Output is correct |
2 |
Correct |
0 ms |
364 KB |
Output is correct |
3 |
Correct |
1 ms |
364 KB |
Output is correct |
4 |
Correct |
1 ms |
364 KB |
Output is correct |
5 |
Correct |
1 ms |
364 KB |
Output is correct |
6 |
Correct |
1 ms |
364 KB |
Output is correct |
7 |
Correct |
1 ms |
364 KB |
Output is correct |
8 |
Correct |
1 ms |
364 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
364 KB |
Output is correct |
2 |
Correct |
1 ms |
364 KB |
Output is correct |
3 |
Correct |
24 ms |
492 KB |
Output is correct |
4 |
Correct |
3 ms |
364 KB |
Output is correct |
5 |
Correct |
582 ms |
1260 KB |
Output is correct |
6 |
Correct |
1039 ms |
1900 KB |
Output is correct |
7 |
Correct |
1031 ms |
1772 KB |
Output is correct |
8 |
Correct |
981 ms |
1900 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
364 KB |
Output is correct |
2 |
Correct |
2 ms |
364 KB |
Output is correct |
3 |
Correct |
60 ms |
748 KB |
Output is correct |
4 |
Correct |
12 ms |
364 KB |
Output is correct |
5 |
Correct |
1022 ms |
1900 KB |
Output is correct |
6 |
Correct |
1031 ms |
1892 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
364 KB |
Output is correct |
2 |
Correct |
0 ms |
364 KB |
Output is correct |
3 |
Correct |
1 ms |
364 KB |
Output is correct |
4 |
Correct |
1 ms |
364 KB |
Output is correct |
5 |
Correct |
3 ms |
364 KB |
Output is correct |
6 |
Correct |
1 ms |
364 KB |
Output is correct |
7 |
Correct |
5 ms |
364 KB |
Output is correct |
8 |
Correct |
5 ms |
512 KB |
Output is correct |
9 |
Correct |
1 ms |
364 KB |
Output is correct |
10 |
Correct |
1 ms |
364 KB |
Output is correct |
11 |
Correct |
1 ms |
364 KB |
Output is correct |
12 |
Correct |
1 ms |
364 KB |
Output is correct |
13 |
Correct |
64 ms |
784 KB |
Output is correct |
14 |
Correct |
4 ms |
364 KB |
Output is correct |
15 |
Correct |
297 ms |
1260 KB |
Output is correct |
16 |
Correct |
57 ms |
632 KB |
Output is correct |
17 |
Correct |
501 ms |
1900 KB |
Output is correct |
18 |
Correct |
1 ms |
364 KB |
Output is correct |
19 |
Correct |
0 ms |
364 KB |
Output is correct |
20 |
Correct |
1 ms |
364 KB |
Output is correct |
21 |
Correct |
1 ms |
364 KB |
Output is correct |
22 |
Correct |
1 ms |
364 KB |
Output is correct |
23 |
Correct |
1 ms |
364 KB |
Output is correct |
24 |
Correct |
1 ms |
364 KB |
Output is correct |
25 |
Correct |
1 ms |
364 KB |
Output is correct |
26 |
Correct |
1 ms |
364 KB |
Output is correct |
27 |
Correct |
1 ms |
364 KB |
Output is correct |
28 |
Correct |
24 ms |
492 KB |
Output is correct |
29 |
Correct |
3 ms |
364 KB |
Output is correct |
30 |
Correct |
582 ms |
1260 KB |
Output is correct |
31 |
Correct |
1039 ms |
1900 KB |
Output is correct |
32 |
Correct |
1031 ms |
1772 KB |
Output is correct |
33 |
Correct |
981 ms |
1900 KB |
Output is correct |
34 |
Correct |
1 ms |
364 KB |
Output is correct |
35 |
Correct |
2 ms |
364 KB |
Output is correct |
36 |
Correct |
60 ms |
748 KB |
Output is correct |
37 |
Correct |
12 ms |
364 KB |
Output is correct |
38 |
Correct |
1022 ms |
1900 KB |
Output is correct |
39 |
Correct |
1031 ms |
1892 KB |
Output is correct |
40 |
Correct |
68 ms |
748 KB |
Output is correct |
41 |
Correct |
189 ms |
876 KB |
Output is correct |
42 |
Correct |
15 ms |
492 KB |
Output is correct |
43 |
Correct |
1171 ms |
2156 KB |
Output is correct |
44 |
Correct |
1164 ms |
2156 KB |
Output is correct |
45 |
Correct |
1154 ms |
2156 KB |
Output is correct |
46 |
Correct |
7 ms |
364 KB |
Output is correct |
47 |
Correct |
14 ms |
492 KB |
Output is correct |
48 |
Correct |
14 ms |
492 KB |
Output is correct |