Submission #1211137

#TimeUsernameProblemLanguageResultExecution timeMemory
1211137MuhammetCatfish Farm (IOI22_fish)C++20
0 / 100
1002 ms2162688 KiB
#include "bits/stdc++.h" #include "fish.h" // #include "grader.cpp" using namespace std; #define ll long long ll max_weights(int n, int m, vector<int> x, vector<int> y, vector<int> w) { vector <vector <ll>> a(n+2, vector <ll> (n+2, 0)); vector <vector <vector <ll>>> dp(n+2, vector <vector <ll>> (n+2, vector <ll> (2, 0))); for(int i = 0; i < m; i++) { a[x[i] + 1][y[i] + 1] = w[i]; } for(int i = 1; i <= n; i++) { for(int j = 1; j <= n; j++) { a[i][j] += (!j ? 0 : a[i][j-1]); } } vector <ll> b(n+1, 0); ll ans = 0; for(int i = 1; i <= n; i++) { for(int j = 0; j <= n; j++) { for(int j1 = 0; j1 <= n; j1++) { // dp[i][j] = max(dp[i][j], a[i+1][j] + dp[i-1][j1] - a[i][j1] + a[i-1][j] - a[i-1][j1]); if(j1 <= j) dp[i][j][0] = max(dp[i][j][0], dp[i-1][j1][0] + a[i-1][j] - a[i-1][j1]); if(j1 >= j) dp[i][j][1] = max(dp[i][j][1], dp[i-1][j1][1] + a[i][j1] - a[i][j]); } dp[i][j][1] = max(dp[i][j][1], dp[i][j][0]); ans = max(ans, dp[i][j][1] + a[i+1][j]); } } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...