Submission #602323

#TimeUsernameProblemLanguageResultExecution timeMemory
602323UncoolAnonZalmoxis (BOI18_zalmoxis)C++14
5 / 100
180 ms10440 KiB
#include <bits/stdc++.h> 

#define pii pair<int,int> 
#define F first 
#define S second 
#define mp make_pair 

using namespace std; 
 

signed main(){
	ios_base::sync_with_stdio(0); 
	cin.tie(nullptr); 
	int n,k; 
	cin>>n>>k; 
	vector<int> a(n); 
	for(int&x:a) cin>>x; 
	int answer=(1<<30); 
	for(int&x:a) answer-=(1<<x); 
	vector<int> added,ones; 
	for(int i=0;i<30;i++)
		if((1<<i)&answer){
			added.push_back(i); 
		}

	while(added.size()+ones.size()<k){
		if(added.back()==0){
			added.pop_back(); 
			ones.push_back(0); 
		}
		else{
			int tmp=added.back(); 
			added.pop_back(); 
			added.push_back(tmp-1); 
			added.push_back(tmp-1); 
		}
	}
	vector<int> ans; 
	for(int&x:a) ans.push_back(x); 
	for(int&x:added) ans.push_back(x); 
	for(int&x:ones) ans.push_back(x); 
	sort(ans.begin(),ans.end()); 
	reverse(ans.begin(),ans.end()); 
	for(int&x:ans) cout << x << " " ; 
	return 0 ; 
}

Compilation message (stderr)

zalmoxis.cpp: In function 'int main()':
zalmoxis.cpp:26:32: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   26 |  while(added.size()+ones.size()<k){
      |        ~~~~~~~~~~~~~~~~~~~~~~~~^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...