Submission #850947

#TimeUsernameProblemLanguageResultExecution timeMemory
850947Charizard2021Zalmoxis (BOI18_zalmoxis)C++17
100 / 100
195 ms39892 KiB
#include<bits/stdc++.h> using namespace std; const int N = 1000001; void solve(int n, int &k){ if(k == 0){ cout << n << " "; return; } k--; solve(n - 1, k); solve(n - 1, k); } int main(){ int n, k; cin >> n >> k; int a[1 + n]; for(int i = 0; i < n; i++){ cin >> a[i]; } a[n] = 30; int counter = 0; vector<int> cur[1 + n]; for(int i = 0; i < n; i++){ counter += (1 << a[i]); while(__builtin_ctz(counter) < a[i + 1]){ cur[i].push_back(__builtin_ctz(counter)); counter += (counter & (-counter)); k--; } } for(int i = 0;i < n; i++){ cout << a[i] << " "; for(int j = 0; j < cur[i].size(); j++){ solve(cur[i][j], k); } } cout << "\n"; }

Compilation message (stderr)

zalmoxis.cpp: In function 'int main()':
zalmoxis.cpp:33:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   33 |         for(int j = 0; j < cur[i].size(); j++){
      |                        ~~^~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...