제출 #1191804

#제출 시각아이디문제언어결과실행 시간메모리
1191804sunboiCloud Computing (CEOI18_clo)C++20
0 / 100
60 ms1352 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long

signed main()
{
    int n; cin >> n;
    vector<pair<int, int>> a(n);
    
    for (int i = 0; i < n; i++){
        int c; cin >> c;
        cin >> a[i].first >> a[i].second;
    }
    
    sort(a.begin(), a.end());
    
    int m; cin >> m;
    
    vector<pair<int, int>> b(m);
    
    for (int i = 0; i < m; i++){
        int c; cin >> c;
        cin >> b[i].first >> b[i].second;
    }
    
    vector<vector<int>> dp(n + 1, vector<int> (m + 1));
    
    for (int i = 0; i < n; i++){
        if (a[i].first >= b[0].first){
            dp[i][0] = max(0LL, b[0].second - a[i].second);
        }
    }
    
    for (int j = 1; j < m; j++){
        for (int i = 0; i < n; i++){
            for (int l = 0; l <= i; l++){
                if (a[i].first >= b[j].first) {
                    dp[i][j] = max(dp[i][j], dp[l][j - 1] + b[j].second - a[i].second);
                }
            }
        }
    }
    int ans = 0;
    for (int i = 0; i < n; i++){
        ans = max(ans, dp[i][m - 1]);
    }
    
    cout << ans << endl;
}
#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...