제출 #1307021

#제출 시각아이디문제언어결과실행 시간메모리
1307021yumemysteryStove (JOI18_stove)C++17
100 / 100
43 ms2460 KiB
#include <bits/stdc++.h> using namespace std; int main() { int n,k; cin >> n >> k; vector<int>T(n,0); vector<pair<int,int>>guest_group; for (auto &t: T) cin >> t; sort(T.begin(),T.end()); for (auto &t : T) { if (guest_group.empty() || guest_group.back().second < t) guest_group.push_back({t,t+1}); else guest_group.back() = {guest_group.back().first,t+1}; } priority_queue<int,vector<int>,greater<int>>gap; int ans = 0; for (auto &g : guest_group) ans+=(g.second-g.first); for (int i=0; i<guest_group.size()-1; i++) gap.push(guest_group[i+1].first-guest_group[i].second); while (!gap.empty() && gap.size() > k-1) { ans+=gap.top(); gap.pop(); } cout << ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...