제출 #1023371

#제출 시각아이디문제언어결과실행 시간메모리
1023371ezGeometryCloud Computing (CEOI18_clo)C++14
100 / 100
574 ms2268 KiB
#include <iostream> #include <vector> #include <algorithm> #include <tuple> using namespace std; using ll = long long; int main() { ll n; cin >> n; vector<tuple<ll, ll, ll>> actions; ll nCores = 0; for (ll i = 0; i < n; i++) { ll c, f, v; cin >> c >> f >> v; actions.push_back(make_tuple(f, c, -v)); nCores += c; } ll m; cin >> m; for (ll i = 0; i < m; i++) { ll c, f, v; cin >> c >> f >> v; actions.push_back(make_tuple(f, -c, v)); } sort(actions.begin(), actions.end(), greater<tuple<ll, ll, ll>>()); vector<ll> profits(nCores + 1, -4e18); profits[0] = 0; for (auto d : actions) { ll f, v, c; tie(f, c, v) = d; vector<ll> cur = profits; for (ll i = 0; i <= nCores; i++) { if (i - c < 0 or i - c > nCores) { continue; } cur[i] = max(cur[i], profits[i - c] + v); } profits = cur; } ll ans = 0; for (ll c : profits) { ans = max(ans, c); } 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...