Submission #1169838

#TimeUsernameProblemLanguageResultExecution timeMemory
1169838thelegendary08Catfish Farm (IOI22_fish)C++17
14 / 100
962 ms2162688 KiB
#include "fish.h" #include<bits/stdc++.h> #define int long long #define vi vector<int> #define pb push_back #define f0r(i,n) for(int i = 0; i<n; i++) #define FOR(i, k, n) for(int i = k; i<n; i++) #define vout(v) for(auto u : v)cout<<u<<' '; cout<<'\n'; using namespace std; vector<vector<int>>s; int sum(int col, int l, int r){ if(l > r)return 0; if(l == 0)return s[col][r]; else return s[col][r] - s[col][l-1]; } int max_weights(signed n, signed m, std::vector<signed> x, std::vector<signed> y, std::vector<signed> w) { int ans = 0; vector<vi>grid(n, vi(n)); f0r(i,m){ grid[x[i]][y[i]] = w[i]; } vector<vi>s(n, vi(n)); f0r(i, n){ s[i][0] = grid[i][0]; FOR(j, 1, n)s[i][j] = s[i][j-1] + grid[i][j]; } ::s = s; /* f0r(i,n){ f0r(j, n)cout<<s[i][j]<<' '; cout<<'\n'; } */ int kaw = min(9, n+1); // vout(v); // cout<<sum(0, 0, 5)<<"hi"<<'\n'; vector<vector<vi>> dp(n, vector<vi>(kaw, vi(kaw))); /* f0r(i, kaw){ f0r(j, kaw){ dp[1][i][j] = sum(0, i, j-1); } } */ FOR(i, 1, n){ f0r(j, kaw){ f0r(k, kaw){ f0r(l, kaw){ if(k < j)dp[i][j][k] = max(dp[i][j][k], dp[i-1][l][j] + sum(i, k, j-1)); else dp[i][j][k] = max(dp[i][j][k], dp[i-1][l][j] + sum(i-1, max(l,j), k-1)); } } } } // cout<<dp[1][2][0]<<'\n'; /* f0r(i, kaw){ f0r(j, kaw){ cout<<dp[1][i][j]<<' '; } cout<<'\n'; } */ f0r(i, kaw)f0r(j,kaw)ans = max(ans, dp[n-1][i][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...