이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include<bits/stdc++.h>
using namespace std ;
const int N = 1e5 + 7 ;
int n , k ;
priority_queue<pair<int, int > > mu ;
vector<pair<int , int> > arr ;
int main(){
ios_base::sync_with_stdio(0) ;
cin.tie(0) ;
//freopen("in.in" , "r" , stdin) ;
cin>>n>>k ;
for(int i = 0 ; i < n ; i++){
int t ;
cin>>t ;
mu.push({ -t , i }) ;
arr.push_back({t , i }) ;
}
while(mu .size() > 1){
pair<int , int > t1 = mu.top() ; mu.pop() ;
pair<int , int > t2 = mu.top() ; mu.pop() ;
if(t1.first == t2.first ){
mu.push({ t1.first -1 , t1.second -2 });
continue ;
}
else{
mu.push(t2) ;
mu.push(t1) ;
mu.push(t1) ;
arr.push_back( t1 );
k-- ;
}
}
sort(arr.begin() , arr.end() , [&] (pair<int , int > p1 , pair<int , int > p2) {
return p1.second < p2.second ;
}) ;
int tp = -mu.top().first;
for(int i = tp + k -1 ; i >= tp ; i --){
cout<<i<<" ";
}
for(auto u : arr){
cout<<abs(u.first) <<" " ;
}
return 0 ;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |