Submission #1173048

#TimeUsernameProblemLanguageResultExecution timeMemory
1173048SpyrosAlivCatfish Farm (IOI22_fish)C++20
3 / 100
47 ms7240 KiB
#include <bits/stdc++.h> #define ll long long using namespace std; ll max_weights(int n, int m, vector<int> X, vector<int> Y, vector<int> W) { ll tot = 0; bool sub1 = true; bool sub2 = true; ll s1 = 0, s2 = 0; for (int i = 0; i < m; i++) { if (X[i] % 2) sub1 = false; if (X[i] > 1) sub2 = false; tot += W[i]; if (X[i] == 0) s1 += W[i]; else s2 += W[i]; } if (sub1) return tot; if (sub2) return max(s1, s2); return 0; /* vector<vector<int>> grid(n+1, vector<int>(n+1, 0)); for (int i = 0; i < m; i++) { grid[Y[i]][X[i]] += W[i]; tot += W[i]; } vector<vector<vector<vector<int>>>> dp(n+1, vector<vector<vector<int>>>(9, vector<vector<int>>(9, vector<int>(9, 0)))); vector<vector<vector<int>>> act(n+1, vector<vector<int>>(9, vector<int>(9, 0))); for (int i = 1; i < n; i++) { for (int j = 0; j < n; j++) { grid[i][j] += grid[i-1][j]; } } int ans = 0; for (int i = 1; i < n-1; i++) { for (int cov = 0; cov <= n; cov++) { for (int left = 0; left <= n; left++) { for (int right = 0; right <= n; right++) { int bon = 0; if (max(left, right) > cov) { bon = grid[max(left, right)][i]; if (cov > 0) bon -= grid[cov - 1][i]; } dp[i][left][cov][right] = max(dp[i][left][cov][right], act[i - 1][left][cov] + bon); act[i][cov][right] = max(act[i][cov][right], dp[i][left][cov][right]); ans = max(ans, dp[i][left][cov][right]); } } } } return ans; for (int col = 1; col < n; col++) { for (int cov = 0; cov <= n; cov++) { for (int prev = 0; prev <= n; prev++) { int extra = 0; if (cov > prev) { extra = grid[cov - 1][col - 1]; if (prev > 0) extra -= grid[prev - 1][col - 1]; } else if (prev > cov) { extra = grid[prev - 1][col]; if (cov > 0) extra -= grid[cov - 1][col]; } dp[col][cov] = max(dp[col][cov], dp[col - 1][prev] + extra); ans = max(ans, dp[col][cov]); } } } return ans;*/ } /* int main() { cout << max_weights(5, 4, {0, 1, 4, 3}, {2, 1, 4, 3}, {5, 2, 1, 3}) << "\n"; }*/
#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...