제출 #641861

#제출 시각아이디문제언어결과실행 시간메모리
641861Vanilla메기 농장 (IOI22_fish)C++17
0 / 100
175 ms12460 KiB
#include "fish.h" #include <bits/stdc++.h> using namespace std; typedef long long int64; const int maxn = 302; int64 dp [maxn][maxn][2]; int64 mx [maxn]; int64 p [maxn][maxn]; int lim = 8; int64 max_weights(int n, int m, vector<int> x, vector<int> y, vector<int> w) { lim = min(lim, n); for (int i = 0; i < m; i++) { p[++x[i]][++y[i]] = w[i]; } for (int i = 1; i <= n; i++){ for (int j = 1; j <= n; j++){ p[i][j]+=p[i][j-1]; } } for (int i = 2; i <= n; i++){ for (int j = 0; j <= n; j++){ dp[i][j][0] = mx[i-2] + p[i-1][j]; for (int k = j; k <= n; k++){ dp[i][j][0] = max(dp[i][j][0], max(dp[i-1][k][0], dp[i-1][k][1]) + p[i][k] - p[i][j]); } for (int k = 0; k <= j; k++){ dp[i][j][1] = max(dp[i][j][1], dp[i-1][k][1] + p[i-1][j] - p[i-1][k]); } mx[i] = max({mx[i], dp[i][j][0], dp[i][j][1]}); } } return mx[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...