# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
757525 | ChickTheNugget | Catfish Farm (IOI22_fish) | C++17 | 0 ms | 0 KiB |
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 "fish.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ld long double
#define INF 1e9
#define MOD 1e9 + 7
#define MAXN 100005
int mod = 1e9 + 7;
long long max_weights(int N, int M, std::vector<int> X, std::vector<int> Y, std::vector<int> W) {
int n = N;
int m = M;
vector<vector<ll>> dp(2, vector<ll>(n, 0));
dp[1][0] = w[1];
dp[0][1] = w[1];
if (n >= 2){
dp[1][1] = w[0] + w[2];
}
for (int i = 2; i < n; i++){
dp[1][i] = max(dp[1][i - 2] + w[i + 1], dp[0][i - 2] + w[i - 1] + w[i + 1]);
dp[0][i] = max(dp[1][i - 1], dp[0][i - 1]);
}
dp[1][n - 1] = max(dp[1][n - 3], dp[0][n - 3] + w[n - 2]);
return max(dp[1][n - 1], dp[0][n - 1]);
}
// void solve()
// {
// int n, m;
// cin >> n >> m;
// vector<int> x(m);
// vector<int> y(m);
// vector<int> w(m);
// for (int i = 0; i < m; i++){
// cin >> x[i];
// }
// for (int i = 0; i < m; i++){
// cin >> y[i];
// }
// for (int i = 0; i < m; i++){
// cin >> w[i];
// }
// vector<vector<int>> dp(2, vector<int>(n, 0));
// dp[1][0] = w[1];
// dp[0][1] = w[1];
// if (n >= 2){
// dp[1][1] = w[0] + w[2];
// }
// for (int i = 2; i < n; i++){
// dp[1][i] = max(dp[1][i - 2] + w[i + 1], dp[0][i - 2] + w[i - 1] + w[i + 1]);
// dp[0][i] = max(dp[1][i - 1], dp[0][i - 1]);
// }
// dp[1][n - 1] = max(dp[1][n - 3], dp[0][n - 3] + w[n - 2]);
// cout << max(dp[1][n - 1], dp[0][n - 1]);
// }
// int main()
// {
// ios_base::sync_with_stdio(0);
// cin.tie(0); cout.tie(0);
// #ifndef ONLINE_JUDGE
// freopen("input.txt", "r", stdin);
// freopen("output.txt", "w", stdout);
// #endif
// int t = 1;
// //cin >> t;
// while(t--){
// solve();
// }
// }