Submission #990069

#TimeUsernameProblemLanguageResultExecution timeMemory
990069cpdreamerCatfish Farm (IOI22_fish)C++17
14 / 100
1110 ms2097152 KiB
#include "fish.h" #include <bits/stdc++.h> using namespace std; long long max_weights(int N, int M, std::vector<int> X, std::vector<int> Y,std::vector<int> W) { vector<vector<long long>> vp(N, vector<long long>(N + 2)); for (int i = 0; i < N; i++) vp[i].assign(N + 2, 0); for (int i = 0; i < M; i++) vp[X[i]][Y[i] + 1] += W[i]; for (int i = 0; i < N; i++) for (int j = 1; j <= N; j++) vp[i][j] += vp[i][j - 1]; long long dp[N][min(N,10)+2][min(N,10)+2]; memset(dp,0,sizeof(dp)); for (int i = 0; i <= min(N,10); i++) { for (int j = 0; j <= min(N,10); j++) { dp[0][i][j] = max(dp[0][i][j],vp[0][j] - vp[0][i]); } } for (int i = 1; i < N; i++) { for (int j = 0; j <=min(N,10); j++) { for (int g = 0; g <= min(N,10); g++) { for (int e = 0; e <=min(N,10); e++) { dp[i][j][g]=max(dp[i][j][g],dp[i-1][e][j]+max(max(vp[i][e]-vp[i][j],0LL),max(vp[i][g]-vp[i][j],0LL))); } } } } long long ans=0; for(int i=0;i<=min(N,10);i++){ ans=max(ans,dp[N-1][i][0]); } 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...