Submission #228040

#TimeUsernameProblemLanguageResultExecution timeMemory
228040mohamedsobhi777Zalmoxis (BOI18_zalmoxis)C++14
0 / 100
766 ms18484 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...