This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#define ll long long
#define vt vector
#define pb push_back
#define ar array
#define all(x) (x).begin(), (x).end()
#define sz(x) (x).size()
using namespace std;
/*
1. simplify
2. add new elements
3. brute force solution
4. optimize
*/
// --- templates ---
// --- code ---
ll max_weights(int n, int m, vt<int> X, vt<int> Y, vt<int> W){
int h = 2;
vt<vt<ll>> a(n, vt<ll>(h));
for(int i = 0; i < m; i++){
a[X[i]][1] = W[i];
}
auto f = [](auto l, auto i, auto j) -> ll {
if(i < 0 || j < 0) return 0;
return l[i][j];
};
auto get = [](auto l, auto i) -> ll {
if(i < 0 || i >= l.size()) return 0;
return l[i][1];
};
vt<vt<ll>> dp(n, vt<ll>(h));
for(int i = 0; i < n; i++){
dp[i][0] = max(f(dp, i - 1, 0), f(dp, i - 1, 1));
dp[i][1] = max({
f(dp, i - 2, 0) + get(a, i - 1) + get(a, i + 1),
f(dp, i - 2, 1) + get(a, i + 1),
f(dp, i - 1, 1) + get(a, i + 1) - get(a, i)
});
}
return max(dp[n - 1][0], dp[n - 1][1]);
}
Compilation message (stderr)
fish.cpp: In instantiation of 'max_weights(int, int, std::vector<int>, std::vector<int>, std::vector<int>)::<lambda(auto:26, auto:27)> [with auto:26 = std::vector<std::vector<long long int> >; auto:27 = int]':
fish.cpp:46:34: required from here
fish.cpp:36:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
36 | if(i < 0 || i >= l.size()) return 0;
| ~~^~~~~~~~~~~
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |