# k714. 外送接單 (Delivery) ## 題目連結:[k714](https://zerojudge.tw/ShowProblem?problemid=k714) 選擇訂單的方式是將完成時間早的先選,如果總準備時間超過完成時間,用priority queue 先移除準備時間最長的訂單 ```cpp= #include<bits/stdc++.h> using namespace std; struct food { long long p; long long t; }; bool compare(food a, food b) { return a.t < b.t; } int main() { int n = 0; cin>>n; food a[n]; for (int i = 0; i<n; i++) { cin>>a[i].p>>a[i].t; } sort(a, a+n, compare); int ans = 0, time = 0; priority_queue<int>pq; for (int i = 0; i<n; i++) { pq.push(a[i].p); time += a[i].p; if (time > a[i].t) { time -= pq.top(); pq.pop(); } } ans = pq.size(); cout<<ans;; } ```