제출 #1183489

#제출 시각아이디문제언어결과실행 시간메모리
1183489amine_arouaTwo Dishes (JOI19_dishes)C++20
0 / 100
780 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]);
            }
            if(j >= 1)
                dp[i][j] = max(dp[i][j] , dp[j - 1][i] + ((f[i] + g[j]) < t[j]));
        }
    }
    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...