제출 #1184646

#제출 시각아이디문제언어결과실행 시간메모리
1184646omarrrrTwo Dishes (JOI19_dishes)C++20
10 / 100
389 ms48260 KiB
#include<bits/stdc++.h> #define ll long long #define F first #define S second using namespace std; ll const N=3e5; ll a[N],b[N]; ll la[N],lb[N]; ll ra[N],rb[N]; ll n,m; ll dp[2200][2220]; ll solve(ll i,ll j,ll s){ if(i>n || j>m) return 0; if(dp[i][j]!=-1) return dp[i][j]; ll xa=0,xb=0; if(i<n){ if(s+a[i]<=la[i]){ xa=ra[i]; } xa+=solve(i+1,j,s+a[i]); } if(j<m){ if(j<m && s+b[j]<=lb[j]){ xb=rb[j]; } xb+=solve(i,j+1,s+b[j]); } dp[i][j]=max(xa,xb); return dp[i][j]; } int main(){ memset(dp,-1,sizeof(dp)); cin>>n>>m; for(ll i=0;i<n;i++){ cin>>a[i]>>la[i]>>ra[i]; } for(ll i=0;i<m;i++){ cin>>b[i]>>lb[i]>>rb[i]; } cout<<solve(0,0,0)<<"\n"; return 0; } /* 2 1 1 5 5 2 3 5 1 6 5 */
#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...