Submission #627352

#TimeUsernameProblemLanguageResultExecution timeMemory
627352_martynas메기 농장 (IOI22_fish)C++17
0 / 100
48 ms8104 KiB
#include "fish.h" #include <vector> #include <bits/stdc++.h> using namespace std; using vi = vector<int>; using ll = long long; const int MXN = 3e2+5; ll A[MXN][MXN]; ll suff[MXN][MXN]; ll dp[MXN][MXN]; ll max_weights(int N, int M, vi X, vi Y, vi W) { assert(N <= MXN); for(int i = 0; i < M; i++) { A[X[i]][Y[i]] = W[i]; } for(int i = 0; i < N; i++) { for(int j = N-1; j >= 0; j--) { suff[i][j] = suff[i][j+1] + A[i][j]; } } for(int i = 1; i < N; i++) { for(int j = 0; j <= N; j++) { for(int k = 0; k <= N; k++) { dp[i][j] = max(dp[i][j], dp[i-1][k]+suff[i-1][k]-min(suff[i-1][k], suff[i-1][j])); } //cerr << dp[i][j] << " "; } //cerr << "\n"; } ll ans = 0; for(int i = 0; i < N; i++) { for(int j = 0; j <= N; j++) { ans = max(ans, dp[i][j]+suff[i+1][0]-suff[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...