제출 #1288052

#제출 시각아이디문제언어결과실행 시간메모리
1288052LIATricks of the Trade (CEOI23_trade)C++17
5 / 100
8092 ms4160 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define vll vector<ll> #define pll pair<ll, ll> int main() { ios_base::sync_with_stdio(0); cin.tie(NULL); ll n, k, ans = -1e18; cin >> n >> k; vll b(n), s(n); for (ll i = 0; i < n; ++i) cin >> b[i]; for (ll i = 0; i < n; ++i) cin >> s[i]; set<ll> in; set<ll> res; for (ll st = 0; st < n; ++st) { ll sum_buy = 0; priority_queue<pll, vector<pll>, greater<pll>> pq; ll sum_pq = 0; in.clear(); for (ll ed = st; ed < n; ++ed) { sum_buy += b[ed]; pq.push({s[ed], ed}); in.insert(ed); sum_pq += s[ed]; while (pq.size() > k) { auto [node, idx] = pq.top(); pq.pop(); sum_pq -= node; in.erase(in.find(idx)); } if (pq.size() == k) { ll ans_ed = sum_pq - sum_buy; if (ans < ans_ed) { ans = ans_ed; res = in; } } } } cout << ans << endl; string ss(n, '0'); for (auto it : res) ss[it] = '1'; cout << ss << endl; 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...