제출 #795667

#제출 시각아이디문제언어결과실행 시간메모리
795667Trisanu_DasCloud Computing (CEOI18_clo)C++17
100 / 100
526 ms2024 KiB
#include <bits/stdc++.h> using namespace std; #define FOR(i, x, y) for (int i = x; i < y; i++) #define mx (int)1e5+5 #define ll long long struct CP{ int c; ll f, v; }; int main(){ int n, m; CP A[4005]; array<ll, mx> dp; cin >> n; FOR(i, 0, n) cin >> A[i].c >> A[i].f >> A[i].v, A[i].v *= -1; cin >> m; FOR(i, n, m+n) cin >> A[i].c >> A[i].f >> A[i].v, A[i].c *= -1; sort(A, A+n+m, [](CP a, CP b){ return (a.f > b.f) or (a.f == b.f and a.c > b.c); } ); dp.fill(-1e18); dp[0] = 0; FOR(i, 0, m+n){ array<ll, mx> DP; FOR(j, 0, mx){ DP[j] = dp[j]; if (j-A[i].c < 0 or j-A[i].c >= mx) continue; DP[j] = max(DP[j], dp[j-A[i].c]+A[i].v); }dp = DP; }cout<<*max_element(dp.begin(), dp.end())<<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...