제출 #1183487

#제출 시각아이디문제언어결과실행 시간메모리
1183487amine_arouaTwo Dishes (JOI19_dishes)C++20
0 / 100
787 ms1114112 KiB
#include<bits/stdc++.h> using namespace std; #define int long long signed main() { int n , m; cin>>n>>m; vector<int> a(n + 1) , s(n + 1) , p(n + 1) , b(n + 1) , t(n + 1) , q(n + 1) , f(n + 1) , g(n + 1); for(int i = 1 ; i <= n ; i++) { cin>>a[i]>>s[i]>>p[i]; f[i] = a[i] + f[i - 1]; } for(int i = 1 ; i <= n ; i++) { cin>>b[i]>>t[i]>>q[i]; g[i] = b[i] + g[i - 1]; } vector<vector<int>> dp(n + 1 , vector<int>(n + 1)); for(int i = 0 ; i <= n ; i++) { for(int j = 0 ; j <= n ; j++) { if(i >= 1) { dp[i][j] = dp[i - 1][j] + ((f[i] + g[j]) <= s[i] ? p[i] : 0ll); } if(j >= 1) dp[i][j] = max(dp[i][j] , dp[j - 1][i] + ((f[i] + g[j]) <= t[j] ? q[j] : 0ll)); } } cout<<dp[n][n]<<'\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...