Submission #1104916

#TimeUsernameProblemLanguageResultExecution timeMemory
1104916Lakshya108Cloud Computing (CEOI18_clo)C++17
18 / 100
263 ms1360 KiB
#include <bits/stdc++.h>
using namespace std;

// Macros
#define pb          push_back
#define pf          push_front
#define ff          first
#define ss          second
#define all(v)      v.begin(), v.end()
#define rall(v)     v.rbegin(), v.rend()
#define up(v)       upper_bound(v)
#define low(v)      lower_bound(v)

// Read and Print
#define read(a, n) for(ll i = 0; i < n; ++i) cin >> a[i];
#define print(a, n) for(ll i = 0; i < n; ++i){ cout << a[i] << " ";} cout << "\n";
#define endl "\n"
#define sp " "

// Typedefs
typedef long long ll;
typedef long double ld;
typedef long long int lli;
typedef pair<ll, ll> pll;
typedef pair<lli, lli> plli;
typedef pair<ll, ll> pii; // Changed to ll
typedef vector<lli> vi;
typedef vector<vector<lli>> vvi;
using vec = vector<ll>; // Changed to ll

// Constants
const ll mxn = 1e6 + 5;
const ll mod = 1e9 + 7;

// Solve
const ll N = 1e5 + 5;

void solve(){
    ll n;  
    cin >> n;
    vi c(n), f(n), v(n);
    vector<tuple<ll, ll, ll>> a; // Changed to ll
    ll sum = 0;
    for(ll i = 0; i < n; i++){
        cin >> c[i] >> f[i] >> v[i];
        a.pb({f[i], c[i], -v[i]});
        sum += c[i];
    }
    ll m;  // Changed to ll
    cin >> m;
    vector<ll> C(m), F(m), V(m); // Changed to ll
    for(ll i = 0; i < m; i++){ // Changed to ll
        cin >> C[i] >> F[i] >> V[i];
        a.pb({F[i], C[i], V[i]});
    }
    sort(rall(a));
    vi dp(sum + 1, -1e8);
    dp[0] = 0;
    for(auto [i, j, k] : a){
        if(k > 0){
            for(ll l = j; l <= sum; l++){ // Changed to ll
                dp[l - j] = max(dp[l - j], dp[l] + k);
            }
        } else {
            for(ll l = sum - j; l >= 0; l--){ // Changed to ll
                dp[l + j] = max(dp[l + j], dp[l] + k);
            }
        }
    }
    sort(rall(dp));
    cout << dp[0] << endl;
}

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(0); 
    cout.tie(0);
    solve();
    return 0;
}
#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...