From 18b68ceba5fb48e74fe62ff07067f88a53f2f4e2 Mon Sep 17 00:00:00 2001 From: seonghyeok cho <65901319+whqtker@users.noreply.github.com> Date: Sat, 7 Mar 2026 23:01:23 +0900 Subject: [PATCH] [Week09] BOJ 23088: Aging --- weekly/week09/BOJ_23088_Aging/whqtker.cpp | 45 +++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 weekly/week09/BOJ_23088_Aging/whqtker.cpp diff --git a/weekly/week09/BOJ_23088_Aging/whqtker.cpp b/weekly/week09/BOJ_23088_Aging/whqtker.cpp new file mode 100644 index 0000000..18fff89 --- /dev/null +++ b/weekly/week09/BOJ_23088_Aging/whqtker.cpp @@ -0,0 +1,45 @@ +#include +#include +#include +#include + +using namespace std; +typedef tuple tii; + +int main() { + cin.tie(0); + ios::sync_with_stdio(0); + + int n; + cin>>n; + + // 실행 순위: 우선순위 높음 > 실행 시간 짧음 > 먼저 등장 + vector v; // 실행 요청 시점, 초기 우선순위, 실행 시간 + for (int i=0;i>a>>b>>c; + v.push_back({a,b,c}); + } + + int curTime=0; + int idx=0; + priority_queue pq; // 보정된 우선순위, -실행시간, -등장 번호 + while (idx(v[idx])<=curTime) { + pq.push({get<1>(v[idx])-get<0>(v[idx]),-get<2>(v[idx]),-(idx+1)}); + idx++; + } + + // 처리할 작업 없는 경우 + if (pq.empty()) { + curTime=get<0>(v[idx]); + } + else { + int num=-get<2>(pq.top()); + cout<(pq.top()); + pq.pop(); + } + } +}