From 1aa77d352fbf46d7b798a05d014750a8dc5dfafd Mon Sep 17 00:00:00 2001 From: oncsr Date: Mon, 8 Dec 2025 22:33:16 +0900 Subject: [PATCH] =?UTF-8?q?[20251208]=20BOJ=20/=20P5=20/=20=EA=B4=91?= =?UTF-8?q?=EB=B6=80=20=ED=98=B8=EC=84=9D=20/=20=EA=B6=8C=ED=98=81?= =?UTF-8?q?=EC=A4=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...1\353\266\200 \355\230\270\354\204\235.md" | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 "khj20006/202512/08 BOJ P5 \352\264\221\353\266\200 \355\230\270\354\204\235.md" diff --git "a/khj20006/202512/08 BOJ P5 \352\264\221\353\266\200 \355\230\270\354\204\235.md" "b/khj20006/202512/08 BOJ P5 \352\264\221\353\266\200 \355\230\270\354\204\235.md" new file mode 100644 index 00000000..5d5ba967 --- /dev/null +++ "b/khj20006/202512/08 BOJ P5 \352\264\221\353\266\200 \355\230\270\354\204\235.md" @@ -0,0 +1,40 @@ +```cpp +#include +using namespace std; +using ll = long long; + +int N, C; +vector> arr; +priority_queue> q; + +int main(){ + cin.tie(0)->sync_with_stdio(0); + + cin>>N>>C; + arr.resize(N); + for(auto &[x,y,v] : arr) cin>>x>>y>>v; + sort(arr.begin(), arr.end()); + + ll ans = 0, cur = 0; + for(int i=0;i(arr[i]); + while(i(arr[i]) == x) { + cur += get<2>(arr[i]); + q.emplace(get<1>(arr[i]), get<2>(arr[i])); + i++; + } + while(q.size() > C) { + auto [y, v] = q.top(); q.pop(); + cur -= v; + while(!q.empty() && q.top().first == y) { + cur -= q.top().second; + q.pop(); + } + } + ans = max(ans, cur); + } + + cout<