제출 #335435

#제출 시각아이디문제언어결과실행 시간메모리
3354353funnnZalmoxis (BOI18_zalmoxis)C++17
100 / 100
720 ms40432 KiB
#include <bits/stdc++.h> #define mp make_pair #define pii pair <int, int> using namespace std; int need; void dfs(int val){ if (need == 0 || val == 0){ cout << val << " "; return; } --need; dfs(val - 1); dfs(val - 1); } int main() { int N, K; cin >> N >> K; vector <pii> a(N, mp(0, 0)); for (int i = 0;i < N;++i) cin >> a[i].first; for (int p = 0;p < 30;++p){ vector <pii> b; for (int i = 0;i < a.size();++i){ if (a[i].first <= p){ int j = i, cnt = 0; while (j < a.size() && a[j].first <= p){ cnt += (1 << a[j].first); b.push_back(a[j]); ++j; } if ((cnt >> p) & 1) b.push_back(mp(p, 1)); i = j - 1; } else b.push_back(a[i]); } a = b; } need = N + K - a.size(); for (int i = 0;i < a.size();++i){ if (a[i].second == 0) cout << a[i].first << " "; else dfs(a[i].first); } return 0; }

컴파일 시 표준 에러 (stderr) 메시지

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