This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#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... |