Submission #1244245

#TimeUsernameProblemLanguageResultExecution timeMemory
1244245amine_aroua메기 농장 (IOI22_fish)C++20
0 / 100
24 ms15180 KiB
#include "fish.h" #include <bits/stdc++.h> using namespace std; using ll = long long; void chmax(ll &a , ll b) { a = max(a , b); } const ll INF = 1e18; long long max_weights(int N, int M, std::vector<int> X, std::vector<int> Y, std::vector<int> W) { vector<ll> val(N+1); for(int i = 0 ;i < M ; i++) { val[X[i]+1] = W[i]; } ll ans = 0; vector<vector<vector<vector<ll>>>> dp(2 , vector<vector<vector<ll>>>(2 , vector<vector<ll>>(2 ,vector<ll>(N+1 , -INF)))); for(int i = 0 ; i < 2 ; i++) { for(int j = 0 ; j < 2 ; j++) { dp[i][0][j][0] = 0; } } for(int i = 1 ; i <= N ; i++) { for(int b = 0 ;b < 2 ; b++) { for(int a = 0 ; a < 2 ;a++) { for(int cur = 0 ; cur< 2 ;cur++) { ll add = 0; if((b || a ) && cur == 0) add = val[i]; for(int bb = 0 ; bb < 2 ; bb++) { chmax(dp[b][cur][a][i] , dp[bb][b][cur][i - 1] + add); if(i == N) ans = max(ans , dp[b][cur][a][i]); } } } } } 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...