# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1079245 | farica | Catfish Farm (IOI22_fish) | C++17 | 1070 ms | 2097156 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;
long long max_weights(int N, int M, std::vector<int> X, std::vector<int> Y,
std::vector<int> W) {
vector<vector<long long>>dp(N+1, vector<long long>(N+1, 0));
vector<vector<pair<long long,long long>>>v(N);
for(int i=0; i<M; ++i) {
v[X[i]].push_back({Y[i], W[i]});
}
for(int i=0; i<N; ++i) sort(v[i].begin(), v[i].end());
for(int i=1; i<=N; ++i) {
dp[i][0] = dp[i-1][N];
long long cnt1 = 0, cnt2 = 0, sum = 0, prev = 0;
for(int j=1; j<=N; ++j) {
dp[i][j] = max(dp[i][j-1], dp[i-1][j]);
if(i != N && !v[i].empty() && cnt2 != v[i].size() && v[i][cnt2].first == j - 1) {
sum += v[i+1][cnt2].second;
++cnt2;
}
if(i >= 2 && !v[i-2].empty() && cnt1 != v[i-2].size() && v[i-2][cnt1].first == j - 1) {
prev += v[i-2][cnt1].second;
prev = max(prev, dp[i-1][j-1] + v[i-2][cnt1].second);
++cnt1;
}
dp[i][j] = max(dp[i][j], prev + sum);
}
}
return dp[N][N];
}
Compilation message (stderr)
# | 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... |